zudoku 0.0.0-ff3bc72 → 0.0.0-firebase-fixes.777fd2c0

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 (2402) hide show
  1. package/README.md +141 -0
  2. package/cli.js +12 -2
  3. package/client.d.ts +7 -0
  4. package/dist/app/ZuploBuildConfig.d.ts +45 -0
  5. package/dist/app/ZuploBuildConfig.js +29 -0
  6. package/dist/app/ZuploBuildConfig.js.map +1 -0
  7. package/dist/app/demo.js +23 -10
  8. package/dist/app/demo.js.map +1 -1
  9. package/dist/app/entry.client.d.ts +6 -2
  10. package/dist/app/entry.client.js +56 -7
  11. package/dist/app/entry.client.js.map +1 -1
  12. package/dist/app/entry.server.d.ts +9 -8
  13. package/dist/app/entry.server.js +36 -18
  14. package/dist/app/entry.server.js.map +1 -1
  15. package/dist/app/env.d.ts +33 -0
  16. package/dist/app/env.js +37 -0
  17. package/dist/app/env.js.map +1 -0
  18. package/dist/app/main.d.ts +94 -2
  19. package/dist/app/main.js +64 -70
  20. package/dist/app/main.js.map +1 -1
  21. package/dist/app/sentry.d.ts +3 -0
  22. package/dist/app/sentry.js +19 -0
  23. package/dist/app/sentry.js.map +1 -0
  24. package/dist/app/standalone.js +12 -11
  25. package/dist/app/standalone.js.map +1 -1
  26. package/dist/cli/build/handler.d.ts +1 -3
  27. package/dist/cli/build/handler.js +18 -2
  28. package/dist/cli/build/handler.js.map +1 -1
  29. package/dist/cli/cli.d.ts +9 -0
  30. package/dist/cli/cli.js +23 -15
  31. package/dist/cli/cli.js.map +1 -1
  32. package/dist/cli/cmds/build.d.ts +11 -3
  33. package/dist/cli/cmds/build.js +21 -13
  34. package/dist/cli/cmds/build.js.map +1 -1
  35. package/dist/cli/cmds/dev.d.ts +1 -1
  36. package/dist/cli/cmds/dev.js +5 -0
  37. package/dist/cli/cmds/dev.js.map +1 -1
  38. package/dist/cli/cmds/preview.d.ts +16 -0
  39. package/dist/cli/cmds/preview.js +25 -0
  40. package/dist/cli/cmds/preview.js.map +1 -0
  41. package/dist/cli/common/analytics/lib.js +1 -1
  42. package/dist/cli/common/analytics/lib.js.map +1 -1
  43. package/dist/cli/common/logger.js +8 -0
  44. package/dist/cli/common/logger.js.map +1 -1
  45. package/dist/cli/common/machine-id/lib.js +3 -1
  46. package/dist/cli/common/machine-id/lib.js.map +1 -1
  47. package/dist/cli/common/outdated.js +4 -2
  48. package/dist/cli/common/outdated.js.map +1 -1
  49. package/dist/cli/common/output.js +2 -3
  50. package/dist/cli/common/output.js.map +1 -1
  51. package/dist/cli/common/utils/box.js +2 -2
  52. package/dist/cli/common/utils/box.js.map +1 -1
  53. package/dist/cli/common/utils/ports.d.ts +1 -1
  54. package/dist/cli/common/utils/ports.js +16 -15
  55. package/dist/cli/common/utils/ports.js.map +1 -1
  56. package/dist/cli/common/validators/lib.js +1 -1
  57. package/dist/cli/common/validators/lib.js.map +1 -1
  58. package/dist/cli/common/version-check.d.ts +2 -0
  59. package/dist/cli/common/version-check.js +58 -0
  60. package/dist/cli/common/version-check.js.map +1 -0
  61. package/dist/cli/dev/handler.d.ts +1 -0
  62. package/dist/cli/dev/handler.js +15 -16
  63. package/dist/cli/dev/handler.js.map +1 -1
  64. package/dist/cli/preview/handler.d.ts +3 -0
  65. package/dist/cli/preview/handler.js +35 -0
  66. package/dist/cli/preview/handler.js.map +1 -0
  67. package/dist/codegen.d.ts +3 -0
  68. package/dist/codegen.js +45 -0
  69. package/dist/codegen.js.map +1 -0
  70. package/dist/config/config.d.ts +21 -31
  71. package/dist/config/file-exists.d.ts +1 -0
  72. package/dist/config/file-exists.js +5 -0
  73. package/dist/config/file-exists.js.map +1 -0
  74. package/dist/config/loader.d.ts +21 -0
  75. package/dist/config/loader.js +141 -0
  76. package/dist/config/loader.js.map +1 -0
  77. package/dist/config/validators/BuildSchema.d.ts +44 -0
  78. package/dist/config/validators/BuildSchema.js +57 -0
  79. package/dist/config/validators/BuildSchema.js.map +1 -0
  80. package/dist/config/validators/InputNavigationSchema.d.ts +7646 -0
  81. package/dist/config/validators/InputNavigationSchema.js +78 -0
  82. package/dist/config/validators/InputNavigationSchema.js.map +1 -0
  83. package/dist/config/validators/InputNavigationSchema.test-d.js +146 -0
  84. package/dist/config/validators/InputNavigationSchema.test-d.js.map +1 -0
  85. package/dist/config/validators/NavigationSchema.d.ts +44 -0
  86. package/dist/config/validators/NavigationSchema.js +96 -0
  87. package/dist/config/validators/NavigationSchema.js.map +1 -0
  88. package/dist/config/validators/ProtectedRoutesSchema.d.ts +13 -0
  89. package/dist/config/validators/ProtectedRoutesSchema.js +10 -0
  90. package/dist/config/validators/ProtectedRoutesSchema.js.map +1 -0
  91. package/dist/config/validators/auth.d.ts +2 -2
  92. package/dist/config/validators/auth.js +1 -1
  93. package/dist/config/validators/auth.js.map +1 -1
  94. package/dist/config/validators/icon-types.d.ts +2 -0
  95. package/dist/config/validators/icon-types.js +1873 -0
  96. package/dist/config/validators/icon-types.js.map +1 -0
  97. package/dist/config/validators/validate.d.ts +925 -1421
  98. package/dist/config/validators/validate.js +424 -136
  99. package/dist/config/validators/validate.js.map +1 -1
  100. package/dist/config/validators/validate.test.js +183 -0
  101. package/dist/config/validators/validate.test.js.map +1 -0
  102. package/dist/flat-config.d.ts +386 -0
  103. package/dist/index.d.ts +11 -2
  104. package/dist/index.js +6 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/lib/MissingIcon.d.ts +2 -0
  107. package/dist/lib/MissingIcon.js +7 -0
  108. package/dist/lib/MissingIcon.js.map +1 -0
  109. package/dist/lib/assets/language-icons/c.d.ts +3 -0
  110. package/dist/lib/assets/language-icons/c.js +4 -0
  111. package/dist/lib/assets/language-icons/c.js.map +1 -0
  112. package/dist/lib/assets/language-icons/commonlisp.d.ts +3 -0
  113. package/dist/lib/assets/language-icons/commonlisp.js +4 -0
  114. package/dist/lib/assets/language-icons/commonlisp.js.map +1 -0
  115. package/dist/lib/assets/language-icons/cpp.d.ts +3 -0
  116. package/dist/lib/assets/language-icons/cpp.js +4 -0
  117. package/dist/lib/assets/language-icons/cpp.js.map +1 -0
  118. package/dist/lib/assets/language-icons/csharp.d.ts +3 -0
  119. package/dist/lib/assets/language-icons/csharp.js +4 -0
  120. package/dist/lib/assets/language-icons/csharp.js.map +1 -0
  121. package/dist/lib/assets/language-icons/css.d.ts +3 -0
  122. package/dist/lib/assets/language-icons/css.js +4 -0
  123. package/dist/lib/assets/language-icons/css.js.map +1 -0
  124. package/dist/lib/assets/language-icons/dart.d.ts +3 -0
  125. package/dist/lib/assets/language-icons/dart.js +4 -0
  126. package/dist/lib/assets/language-icons/dart.js.map +1 -0
  127. package/dist/lib/assets/language-icons/elixir.d.ts +3 -0
  128. package/dist/lib/assets/language-icons/elixir.js +4 -0
  129. package/dist/lib/assets/language-icons/elixir.js.map +1 -0
  130. package/dist/lib/assets/language-icons/go.d.ts +3 -0
  131. package/dist/lib/assets/language-icons/go.js +4 -0
  132. package/dist/lib/assets/language-icons/go.js.map +1 -0
  133. package/dist/lib/assets/language-icons/graphql.d.ts +3 -0
  134. package/dist/lib/assets/language-icons/graphql.js +4 -0
  135. package/dist/lib/assets/language-icons/graphql.js.map +1 -0
  136. package/dist/lib/assets/language-icons/html.d.ts +3 -0
  137. package/dist/lib/assets/language-icons/html.js +4 -0
  138. package/dist/lib/assets/language-icons/html.js.map +1 -0
  139. package/dist/lib/assets/language-icons/java.d.ts +3 -0
  140. package/dist/lib/assets/language-icons/java.js +4 -0
  141. package/dist/lib/assets/language-icons/java.js.map +1 -0
  142. package/dist/lib/assets/language-icons/javascript.d.ts +3 -0
  143. package/dist/lib/assets/language-icons/javascript.js +4 -0
  144. package/dist/lib/assets/language-icons/javascript.js.map +1 -0
  145. package/dist/lib/assets/language-icons/json.d.ts +3 -0
  146. package/dist/lib/assets/language-icons/json.js +4 -0
  147. package/dist/lib/assets/language-icons/json.js.map +1 -0
  148. package/dist/lib/assets/language-icons/kotlin.d.ts +3 -0
  149. package/dist/lib/assets/language-icons/kotlin.js +4 -0
  150. package/dist/lib/assets/language-icons/kotlin.js.map +1 -0
  151. package/dist/lib/assets/language-icons/markdown.d.ts +3 -0
  152. package/dist/lib/assets/language-icons/markdown.js +4 -0
  153. package/dist/lib/assets/language-icons/markdown.js.map +1 -0
  154. package/dist/lib/assets/language-icons/mdx.d.ts +3 -0
  155. package/dist/lib/assets/language-icons/mdx.js +4 -0
  156. package/dist/lib/assets/language-icons/mdx.js.map +1 -0
  157. package/dist/lib/assets/language-icons/objectivec.d.ts +3 -0
  158. package/dist/lib/assets/language-icons/objectivec.js +4 -0
  159. package/dist/lib/assets/language-icons/objectivec.js.map +1 -0
  160. package/dist/lib/assets/language-icons/ocaml.d.ts +3 -0
  161. package/dist/lib/assets/language-icons/ocaml.js +4 -0
  162. package/dist/lib/assets/language-icons/ocaml.js.map +1 -0
  163. package/dist/lib/assets/language-icons/php.d.ts +3 -0
  164. package/dist/lib/assets/language-icons/php.js +4 -0
  165. package/dist/lib/assets/language-icons/php.js.map +1 -0
  166. package/dist/lib/assets/language-icons/powershell.d.ts +3 -0
  167. package/dist/lib/assets/language-icons/powershell.js +4 -0
  168. package/dist/lib/assets/language-icons/powershell.js.map +1 -0
  169. package/dist/lib/assets/language-icons/python.d.ts +3 -0
  170. package/dist/lib/assets/language-icons/python.js +4 -0
  171. package/dist/lib/assets/language-icons/python.js.map +1 -0
  172. package/dist/lib/assets/language-icons/react.d.ts +3 -0
  173. package/dist/lib/assets/language-icons/react.js +4 -0
  174. package/dist/lib/assets/language-icons/react.js.map +1 -0
  175. package/dist/lib/assets/language-icons/ruby.d.ts +3 -0
  176. package/dist/lib/assets/language-icons/ruby.js +4 -0
  177. package/dist/lib/assets/language-icons/ruby.js.map +1 -0
  178. package/dist/lib/assets/language-icons/rust.d.ts +3 -0
  179. package/dist/lib/assets/language-icons/rust.js +4 -0
  180. package/dist/lib/assets/language-icons/rust.js.map +1 -0
  181. package/dist/lib/assets/language-icons/scala.d.ts +3 -0
  182. package/dist/lib/assets/language-icons/scala.js +4 -0
  183. package/dist/lib/assets/language-icons/scala.js.map +1 -0
  184. package/dist/lib/assets/language-icons/shell.d.ts +3 -0
  185. package/dist/lib/assets/language-icons/shell.js +4 -0
  186. package/dist/lib/assets/language-icons/shell.js.map +1 -0
  187. package/dist/lib/assets/language-icons/swift.d.ts +3 -0
  188. package/dist/lib/assets/language-icons/swift.js +4 -0
  189. package/dist/lib/assets/language-icons/swift.js.map +1 -0
  190. package/dist/lib/assets/language-icons/toml.d.ts +3 -0
  191. package/dist/lib/assets/language-icons/toml.js +4 -0
  192. package/dist/lib/assets/language-icons/toml.js.map +1 -0
  193. package/dist/lib/assets/language-icons/typescript.d.ts +3 -0
  194. package/dist/lib/assets/language-icons/typescript.js +4 -0
  195. package/dist/lib/assets/language-icons/typescript.js.map +1 -0
  196. package/dist/lib/assets/language-icons/xml.d.ts +3 -0
  197. package/dist/lib/assets/language-icons/xml.js +4 -0
  198. package/dist/lib/assets/language-icons/xml.js.map +1 -0
  199. package/dist/lib/assets/language-icons/yaml.d.ts +3 -0
  200. package/dist/lib/assets/language-icons/yaml.js +4 -0
  201. package/dist/lib/assets/language-icons/yaml.js.map +1 -0
  202. package/dist/lib/assets/language-icons/zig.d.ts +3 -0
  203. package/dist/lib/assets/language-icons/zig.js +4 -0
  204. package/dist/lib/assets/language-icons/zig.js.map +1 -0
  205. package/dist/lib/auth/issuer.d.ts +2 -0
  206. package/dist/lib/auth/issuer.js +40 -0
  207. package/dist/lib/auth/issuer.js.map +1 -0
  208. package/dist/lib/auth/issuer.test.js +95 -0
  209. package/dist/lib/auth/issuer.test.js.map +1 -0
  210. package/dist/lib/authentication/AuthenticationPlugin.d.ts +6 -4
  211. package/dist/lib/authentication/AuthenticationPlugin.js +4 -1
  212. package/dist/lib/authentication/AuthenticationPlugin.js.map +1 -1
  213. package/dist/lib/authentication/authentication.d.ts +22 -15
  214. package/dist/lib/authentication/components/CallbackHandler.js +27 -31
  215. package/dist/lib/authentication/components/CallbackHandler.js.map +1 -1
  216. package/dist/lib/authentication/components/OAuthErrorPage.d.ts +3 -0
  217. package/dist/lib/authentication/components/OAuthErrorPage.js +99 -0
  218. package/dist/lib/authentication/components/OAuthErrorPage.js.map +1 -0
  219. package/dist/lib/authentication/components/SignIn.d.ts +1 -1
  220. package/dist/lib/authentication/components/SignIn.js +12 -7
  221. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  222. package/dist/lib/authentication/components/SignOut.js +6 -6
  223. package/dist/lib/authentication/components/SignOut.js.map +1 -1
  224. package/dist/lib/authentication/components/SignUp.d.ts +1 -1
  225. package/dist/lib/authentication/components/SignUp.js +8 -5
  226. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  227. package/dist/lib/authentication/errors.d.ts +6 -12
  228. package/dist/lib/authentication/errors.js +2 -1
  229. package/dist/lib/authentication/errors.js.map +1 -1
  230. package/dist/lib/authentication/hook.d.ts +15 -5
  231. package/dist/lib/authentication/hook.js +19 -7
  232. package/dist/lib/authentication/hook.js.map +1 -1
  233. package/dist/lib/authentication/providers/auth0.d.ts +2 -2
  234. package/dist/lib/authentication/providers/auth0.js +25 -14
  235. package/dist/lib/authentication/providers/auth0.js.map +1 -1
  236. package/dist/lib/authentication/providers/azureb2c.d.ts +28 -0
  237. package/dist/lib/authentication/providers/azureb2c.js +147 -0
  238. package/dist/lib/authentication/providers/azureb2c.js.map +1 -0
  239. package/dist/lib/authentication/providers/clerk.d.ts +2 -2
  240. package/dist/lib/authentication/providers/clerk.js +111 -49
  241. package/dist/lib/authentication/providers/clerk.js.map +1 -1
  242. package/dist/lib/authentication/providers/firebase.d.ts +4 -0
  243. package/dist/lib/authentication/providers/firebase.js +222 -0
  244. package/dist/lib/authentication/providers/firebase.js.map +1 -0
  245. package/dist/lib/authentication/providers/openid.d.ts +29 -24
  246. package/dist/lib/authentication/providers/openid.js +115 -74
  247. package/dist/lib/authentication/providers/openid.js.map +1 -1
  248. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.d.ts +8 -0
  249. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js +39 -0
  250. package/dist/lib/authentication/providers/supabase/SupabaseAuthUI.js.map +1 -0
  251. package/dist/lib/authentication/providers/supabase.d.ts +4 -0
  252. package/dist/lib/authentication/providers/supabase.js +108 -0
  253. package/dist/lib/authentication/providers/supabase.js.map +1 -0
  254. package/dist/lib/authentication/state.d.ts +22 -19
  255. package/dist/lib/authentication/state.js +35 -7
  256. package/dist/lib/authentication/state.js.map +1 -1
  257. package/dist/lib/authentication/ui/ZudokuAuthUi.d.ts +26 -0
  258. package/dist/lib/authentication/ui/ZudokuAuthUi.js +139 -0
  259. package/dist/lib/authentication/ui/ZudokuAuthUi.js.map +1 -0
  260. package/dist/lib/authentication/ui/icons/Apple.d.ts +3 -0
  261. package/dist/lib/authentication/ui/icons/Apple.js +4 -0
  262. package/dist/lib/authentication/ui/icons/Apple.js.map +1 -0
  263. package/dist/lib/authentication/ui/icons/Facebook.d.ts +3 -0
  264. package/dist/lib/authentication/ui/icons/Facebook.js +4 -0
  265. package/dist/lib/authentication/ui/icons/Facebook.js.map +1 -0
  266. package/dist/lib/authentication/ui/icons/Github.d.ts +3 -0
  267. package/dist/lib/authentication/ui/icons/Github.js +4 -0
  268. package/dist/lib/authentication/ui/icons/Github.js.map +1 -0
  269. package/dist/lib/authentication/ui/icons/Google.d.ts +3 -0
  270. package/dist/lib/authentication/ui/icons/Google.js +4 -0
  271. package/dist/lib/authentication/ui/icons/Google.js.map +1 -0
  272. package/dist/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
  273. package/dist/lib/authentication/ui/icons/Microsoft.js +4 -0
  274. package/dist/lib/authentication/ui/icons/Microsoft.js.map +1 -0
  275. package/dist/lib/authentication/ui/icons/X.d.ts +3 -0
  276. package/dist/lib/authentication/ui/icons/X.js +4 -0
  277. package/dist/lib/authentication/ui/icons/X.js.map +1 -0
  278. package/dist/lib/authentication/use-broadcast/shared.d.ts +48 -0
  279. package/dist/lib/authentication/use-broadcast/shared.js +243 -0
  280. package/dist/lib/authentication/use-broadcast/shared.js.map +1 -0
  281. package/dist/lib/authentication/use-broadcast/useBroadcast.d.ts +24 -0
  282. package/dist/lib/authentication/use-broadcast/useBroadcast.js +106 -0
  283. package/dist/lib/authentication/use-broadcast/useBroadcast.js.map +1 -0
  284. package/dist/lib/components/AnchorLink.d.ts +2 -2
  285. package/dist/lib/components/AnchorLink.js +9 -5
  286. package/dist/lib/components/AnchorLink.js.map +1 -1
  287. package/dist/lib/components/Autocomplete.d.ts +15 -0
  288. package/dist/lib/components/Autocomplete.js +51 -0
  289. package/dist/lib/components/Autocomplete.js.map +1 -0
  290. package/dist/lib/components/Banner.js +2 -2
  291. package/dist/lib/components/Banner.js.map +1 -1
  292. package/dist/lib/components/Bootstrap.d.ts +5 -3
  293. package/dist/lib/components/Bootstrap.js +13 -6
  294. package/dist/lib/components/Bootstrap.js.map +1 -1
  295. package/dist/lib/components/BuildCheck.d.ts +5 -0
  296. package/dist/lib/components/BuildCheck.js +45 -0
  297. package/dist/lib/components/BuildCheck.js.map +1 -0
  298. package/dist/lib/components/CategoryHeading.js +1 -1
  299. package/dist/lib/components/CategoryHeading.js.map +1 -1
  300. package/dist/lib/components/ClientOnly.d.ts +4 -2
  301. package/dist/lib/components/ClientOnly.js +1 -1
  302. package/dist/lib/components/ClientOnly.js.map +1 -1
  303. package/dist/lib/components/DeveloperHint.js +2 -1
  304. package/dist/lib/components/DeveloperHint.js.map +1 -1
  305. package/dist/lib/components/ErrorPage.js +2 -2
  306. package/dist/lib/components/ErrorPage.js.map +1 -1
  307. package/dist/lib/components/Footer.d.ts +1 -0
  308. package/dist/lib/components/Footer.js +32 -0
  309. package/dist/lib/components/Footer.js.map +1 -0
  310. package/dist/lib/components/Framed.d.ts +7 -0
  311. package/dist/lib/components/Framed.js +26 -0
  312. package/dist/lib/components/Framed.js.map +1 -0
  313. package/dist/lib/components/Header.js +32 -14
  314. package/dist/lib/components/Header.js.map +1 -1
  315. package/dist/lib/components/Heading.d.ts +10 -6
  316. package/dist/lib/components/Heading.js +4 -3
  317. package/dist/lib/components/Heading.js.map +1 -1
  318. package/dist/lib/components/InlineCode.d.ts +2 -1
  319. package/dist/lib/components/InlineCode.js +2 -9
  320. package/dist/lib/components/InlineCode.js.map +1 -1
  321. package/dist/lib/components/LanguageIcon.d.ts +3 -0
  322. package/dist/lib/components/LanguageIcon.js +163 -0
  323. package/dist/lib/components/LanguageIcon.js.map +1 -0
  324. package/dist/lib/components/Layout.js +11 -24
  325. package/dist/lib/components/Layout.js.map +1 -1
  326. package/dist/lib/components/Main.d.ts +2 -0
  327. package/dist/lib/components/Main.js +18 -0
  328. package/dist/lib/components/Main.js.map +1 -0
  329. package/dist/lib/components/Markdown.d.ts +4 -3
  330. package/dist/lib/components/Markdown.js +14 -14
  331. package/dist/lib/components/Markdown.js.map +1 -1
  332. package/dist/lib/components/Mermaid.d.ts +7 -0
  333. package/dist/lib/components/Mermaid.js +42 -0
  334. package/dist/lib/components/Mermaid.js.map +1 -0
  335. package/dist/lib/components/Meta.d.ts +2 -0
  336. package/dist/lib/components/Meta.js +11 -0
  337. package/dist/lib/components/Meta.js.map +1 -0
  338. package/dist/lib/components/MobileTopNavigation.js +20 -7
  339. package/dist/lib/components/MobileTopNavigation.js.map +1 -1
  340. package/dist/lib/components/NotFoundPage.js +3 -3
  341. package/dist/lib/components/NotFoundPage.js.map +1 -1
  342. package/dist/lib/components/PageProgress.d.ts +1 -0
  343. package/dist/lib/components/PageProgress.js +20 -0
  344. package/dist/lib/components/PageProgress.js.map +1 -0
  345. package/dist/lib/components/PagefindSearchMeta.d.ts +8 -0
  346. package/dist/lib/components/PagefindSearchMeta.js +7 -0
  347. package/dist/lib/components/PagefindSearchMeta.js.map +1 -0
  348. package/dist/lib/components/Pagination.d.ts +11 -0
  349. package/dist/lib/components/Pagination.js +10 -0
  350. package/dist/lib/components/Pagination.js.map +1 -0
  351. package/dist/lib/components/PathRenderer.d.ts +11 -0
  352. package/dist/lib/components/PathRenderer.js +28 -0
  353. package/dist/lib/components/PathRenderer.js.map +1 -0
  354. package/dist/lib/components/Search.d.ts +3 -1
  355. package/dist/lib/components/Search.js +10 -4
  356. package/dist/lib/components/Search.js.map +1 -1
  357. package/dist/lib/components/Slot.d.ts +17 -0
  358. package/dist/lib/components/Slot.js +24 -0
  359. package/dist/lib/components/Slot.js.map +1 -0
  360. package/dist/lib/components/Slot.test.d.ts +1 -0
  361. package/dist/lib/components/Slot.test.js +172 -0
  362. package/dist/lib/components/Slot.test.js.map +1 -0
  363. package/dist/lib/components/StatusPage.d.ts +7 -0
  364. package/dist/lib/components/StatusPage.js +75 -0
  365. package/dist/lib/components/StatusPage.js.map +1 -0
  366. package/dist/lib/components/ThemeSwitch.d.ts +1 -0
  367. package/dist/lib/components/ThemeSwitch.js +16 -0
  368. package/dist/lib/components/ThemeSwitch.js.map +1 -0
  369. package/dist/lib/components/TopNavigation.d.ts +7 -0
  370. package/dist/lib/components/TopNavigation.js +60 -9
  371. package/dist/lib/components/TopNavigation.js.map +1 -1
  372. package/dist/lib/components/Typography.d.ts +5 -0
  373. package/dist/lib/components/Typography.js +8 -0
  374. package/dist/lib/components/Typography.js.map +1 -0
  375. package/dist/lib/components/Zudoku.d.ts +7 -0
  376. package/dist/lib/components/Zudoku.js +55 -0
  377. package/dist/lib/components/Zudoku.js.map +1 -0
  378. package/dist/lib/components/cache.d.ts +15 -0
  379. package/dist/lib/components/cache.js +18 -0
  380. package/dist/lib/components/cache.js.map +1 -0
  381. package/dist/lib/components/context/BypassProtectedRoutesContext.d.ts +1 -0
  382. package/dist/lib/components/context/BypassProtectedRoutesContext.js +3 -0
  383. package/dist/lib/components/context/BypassProtectedRoutesContext.js.map +1 -0
  384. package/dist/lib/components/context/ComponentsContext.js.map +1 -1
  385. package/dist/lib/components/context/RouterEventsEmitter.d.ts +1 -0
  386. package/dist/lib/components/context/RouterEventsEmitter.js +17 -0
  387. package/dist/lib/components/context/RouterEventsEmitter.js.map +1 -0
  388. package/dist/lib/components/context/SlotProvider.d.ts +26 -0
  389. package/dist/lib/components/context/SlotProvider.js +83 -0
  390. package/dist/lib/components/context/SlotProvider.js.map +1 -0
  391. package/dist/lib/components/context/ViewportAnchorContext.d.ts +2 -4
  392. package/dist/lib/components/context/ViewportAnchorContext.js +30 -24
  393. package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -1
  394. package/dist/lib/components/context/ZudokuContext.d.ts +9 -17
  395. package/dist/lib/components/context/ZudokuContext.js +74 -27
  396. package/dist/lib/components/context/ZudokuContext.js.map +1 -1
  397. package/dist/lib/components/context/ZudokuProvider.d.ts +2 -2
  398. package/dist/lib/components/context/ZudokuProvider.js +2 -1
  399. package/dist/lib/components/context/ZudokuProvider.js.map +1 -1
  400. package/dist/lib/components/index.d.ts +65 -23
  401. package/dist/lib/components/index.js +31 -15
  402. package/dist/lib/components/index.js.map +1 -1
  403. package/dist/lib/components/navigation/Navigation.d.ts +5 -0
  404. package/dist/lib/components/navigation/Navigation.js +12 -0
  405. package/dist/lib/components/navigation/Navigation.js.map +1 -0
  406. package/dist/lib/components/navigation/NavigationBadge.d.ts +26 -0
  407. package/dist/lib/components/navigation/NavigationBadge.js +26 -0
  408. package/dist/lib/components/navigation/NavigationBadge.js.map +1 -0
  409. package/dist/lib/components/navigation/NavigationCategory.d.ts +5 -0
  410. package/dist/lib/components/navigation/NavigationCategory.js +66 -0
  411. package/dist/lib/components/navigation/NavigationCategory.js.map +1 -0
  412. package/dist/lib/components/navigation/NavigationItem.d.ts +6 -0
  413. package/dist/lib/components/navigation/NavigationItem.js +55 -0
  414. package/dist/lib/components/navigation/NavigationItem.js.map +1 -0
  415. package/dist/lib/components/navigation/NavigationWrapper.d.ts +7 -0
  416. package/dist/lib/components/navigation/NavigationWrapper.js +21 -0
  417. package/dist/lib/components/navigation/NavigationWrapper.js.map +1 -0
  418. package/dist/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
  419. package/dist/lib/components/navigation/PoweredByZudoku.js +7 -0
  420. package/dist/lib/components/navigation/PoweredByZudoku.js.map +1 -0
  421. package/dist/lib/components/navigation/Toc.js +46 -0
  422. package/dist/lib/components/navigation/Toc.js.map +1 -0
  423. package/dist/lib/components/navigation/ZudokuLogo.d.ts +6 -0
  424. package/dist/lib/components/navigation/ZudokuLogo.js +5 -0
  425. package/dist/lib/components/navigation/ZudokuLogo.js.map +1 -0
  426. package/dist/lib/components/navigation/ZuploLogo.d.ts +3 -0
  427. package/dist/lib/components/navigation/ZuploLogo.js +4 -0
  428. package/dist/lib/components/navigation/ZuploLogo.js.map +1 -0
  429. package/dist/lib/components/navigation/utils.d.ts +16 -8
  430. package/dist/lib/components/navigation/utils.js +60 -33
  431. package/dist/lib/components/navigation/utils.js.map +1 -1
  432. package/dist/lib/core/RouteGuard.d.ts +2 -0
  433. package/dist/lib/core/RouteGuard.js +44 -0
  434. package/dist/lib/core/RouteGuard.js.map +1 -0
  435. package/dist/lib/core/ZudokuContext.d.ts +116 -0
  436. package/dist/lib/core/ZudokuContext.js +106 -0
  437. package/dist/lib/core/ZudokuContext.js.map +1 -0
  438. package/dist/lib/core/__internal.d.ts +37 -0
  439. package/dist/lib/core/__internal.js +26 -0
  440. package/dist/lib/core/__internal.js.map +1 -0
  441. package/dist/lib/core/plugins.d.ts +37 -18
  442. package/dist/lib/core/plugins.js +4 -0
  443. package/dist/lib/core/plugins.js.map +1 -1
  444. package/dist/lib/core/router.d.ts +1 -0
  445. package/dist/lib/core/router.js +2 -0
  446. package/dist/lib/core/router.js.map +1 -0
  447. package/dist/lib/errors/ErrorAlert.d.ts +1 -1
  448. package/dist/lib/errors/ErrorAlert.js +12 -4
  449. package/dist/lib/errors/ErrorAlert.js.map +1 -1
  450. package/dist/lib/errors/RouterError.d.ts +3 -1
  451. package/dist/lib/errors/RouterError.js +4 -3
  452. package/dist/lib/errors/RouterError.js.map +1 -1
  453. package/dist/lib/errors/TopLevelError.d.ts +2 -2
  454. package/dist/lib/errors/TopLevelError.js +1 -2
  455. package/dist/lib/errors/TopLevelError.js.map +1 -1
  456. package/dist/lib/hooks/index.d.ts +28 -0
  457. package/dist/lib/hooks/index.js +16 -0
  458. package/dist/lib/hooks/index.js.map +1 -0
  459. package/dist/lib/hooks/useEvent.d.ts +11 -0
  460. package/dist/lib/hooks/useEvent.js +19 -0
  461. package/dist/lib/hooks/useEvent.js.map +1 -0
  462. package/dist/lib/hooks/useEvent.test.d.ts +1 -0
  463. package/dist/lib/hooks/useEvent.test.js +102 -0
  464. package/dist/lib/hooks/useEvent.test.js.map +1 -0
  465. package/dist/lib/hooks/useHotkey.d.ts +4 -0
  466. package/dist/lib/hooks/useHotkey.js +58 -0
  467. package/dist/lib/hooks/useHotkey.js.map +1 -0
  468. package/dist/lib/icons.d.ts +1 -0
  469. package/dist/lib/icons.js +1 -0
  470. package/dist/lib/icons.js.map +1 -1
  471. package/dist/lib/oas/graphql/circular.d.ts +3 -0
  472. package/dist/lib/oas/graphql/circular.js +43 -0
  473. package/dist/lib/oas/graphql/circular.js.map +1 -0
  474. package/dist/lib/oas/graphql/index.d.ts +25 -1
  475. package/dist/lib/oas/graphql/index.js +253 -70
  476. package/dist/lib/oas/graphql/index.js.map +1 -1
  477. package/dist/lib/oas/parser/dereference/index.js +10 -4
  478. package/dist/lib/oas/parser/dereference/index.js.map +1 -1
  479. package/dist/lib/oas/parser/dereference/resolveRef.js +3 -3
  480. package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -1
  481. package/dist/lib/oas/parser/index.d.ts +9 -3
  482. package/dist/lib/oas/parser/index.js +12 -24
  483. package/dist/lib/oas/parser/index.js.map +1 -1
  484. package/dist/lib/oas/parser/upgrade/index.d.ts +3 -2
  485. package/dist/lib/oas/parser/upgrade/index.js +84 -31
  486. package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
  487. package/dist/lib/plugins/api-catalog/Catalog.d.ts +4 -0
  488. package/dist/lib/plugins/api-catalog/Catalog.js +32 -0
  489. package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -0
  490. package/dist/lib/plugins/api-catalog/index.d.ts +31 -0
  491. package/dist/lib/plugins/api-catalog/index.js +46 -0
  492. package/dist/lib/plugins/api-catalog/index.js.map +1 -0
  493. package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +3 -2
  494. package/dist/lib/plugins/api-keys/CreateApiKey.js +26 -8
  495. package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -1
  496. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
  497. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js +9 -0
  498. package/dist/lib/plugins/api-keys/CreateApiKeyDialog.js.map +1 -0
  499. package/dist/lib/plugins/api-keys/ProtectedRoute.js +5 -2
  500. package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -1
  501. package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +1 -1
  502. package/dist/lib/plugins/api-keys/SettingsApiKeys.js +146 -27
  503. package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -1
  504. package/dist/lib/plugins/api-keys/index.d.ts +36 -18
  505. package/dist/lib/plugins/api-keys/index.js +74 -33
  506. package/dist/lib/plugins/api-keys/index.js.map +1 -1
  507. package/dist/lib/plugins/custom-pages/index.d.ts +8 -0
  508. package/dist/lib/plugins/custom-pages/index.js +19 -0
  509. package/dist/lib/plugins/custom-pages/index.js.map +1 -0
  510. package/dist/lib/plugins/markdown/MdxPage.d.ts +10 -2
  511. package/dist/lib/plugins/markdown/MdxPage.js +67 -10
  512. package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
  513. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
  514. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js +3 -0
  515. package/dist/lib/plugins/markdown/assets/ChatGPTLogo.js.map +1 -0
  516. package/dist/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
  517. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js +3 -0
  518. package/dist/lib/plugins/markdown/assets/ClaudeLogo.js.map +1 -0
  519. package/dist/lib/plugins/markdown/index.d.ts +19 -8
  520. package/dist/lib/plugins/markdown/index.js +14 -3
  521. package/dist/lib/plugins/markdown/index.js.map +1 -1
  522. package/dist/lib/plugins/openapi/CollapsibleCode.d.ts +6 -0
  523. package/dist/lib/plugins/openapi/CollapsibleCode.js +26 -0
  524. package/dist/lib/plugins/openapi/CollapsibleCode.js.map +1 -0
  525. package/dist/lib/plugins/openapi/ColorizedParam.d.ts +10 -2
  526. package/dist/lib/plugins/openapi/ColorizedParam.js +32 -14
  527. package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -1
  528. package/dist/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
  529. package/dist/lib/plugins/openapi/DownloadSchemaButton.js +47 -0
  530. package/dist/lib/plugins/openapi/DownloadSchemaButton.js.map +1 -0
  531. package/dist/lib/plugins/openapi/Endpoint.js +13 -19
  532. package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
  533. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
  534. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js +10 -0
  535. package/dist/lib/plugins/openapi/GeneratedExampleSidecarBox.js.map +1 -0
  536. package/dist/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
  537. package/dist/lib/plugins/openapi/MCPEndpoint.js +56 -0
  538. package/dist/lib/plugins/openapi/MCPEndpoint.js.map +1 -0
  539. package/dist/lib/plugins/openapi/OasProvider.d.ts +8 -0
  540. package/dist/lib/plugins/openapi/OasProvider.js +39 -0
  541. package/dist/lib/plugins/openapi/OasProvider.js.map +1 -0
  542. package/dist/lib/plugins/openapi/OperationList.d.ts +5 -4
  543. package/dist/lib/plugins/openapi/OperationList.js +141 -31
  544. package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
  545. package/dist/lib/plugins/openapi/OperationListItem.d.ts +6 -3
  546. package/dist/lib/plugins/openapi/OperationListItem.js +22 -8
  547. package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
  548. package/dist/lib/plugins/openapi/ParamInfos.d.ts +6 -0
  549. package/dist/lib/plugins/openapi/ParamInfos.js +47 -0
  550. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -0
  551. package/dist/lib/plugins/openapi/ParameterList.d.ts +4 -3
  552. package/dist/lib/plugins/openapi/ParameterList.js +10 -6
  553. package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
  554. package/dist/lib/plugins/openapi/ParameterListItem.d.ts +2 -3
  555. package/dist/lib/plugins/openapi/ParameterListItem.js +30 -1
  556. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  557. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +5 -4
  558. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +15 -4
  559. package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
  560. package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +11 -5
  561. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +8 -9
  562. package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
  563. package/dist/lib/plugins/openapi/ResponsesSidecarBox.d.ts +6 -6
  564. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +28 -8
  565. package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
  566. package/dist/lib/plugins/openapi/SchemaList.d.ts +1 -0
  567. package/dist/lib/plugins/openapi/SchemaList.js +53 -0
  568. package/dist/lib/plugins/openapi/SchemaList.js.map +1 -0
  569. package/dist/lib/plugins/openapi/Sidecar.d.ts +6 -5
  570. package/dist/lib/plugins/openapi/Sidecar.js +121 -118
  571. package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
  572. package/dist/lib/plugins/openapi/SidecarBox.js +4 -4
  573. package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
  574. package/dist/lib/plugins/openapi/SidecarExamples.d.ts +14 -0
  575. package/dist/lib/plugins/openapi/SidecarExamples.js +57 -0
  576. package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -0
  577. package/dist/lib/plugins/openapi/SimpleSelect.js +1 -1
  578. package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -1
  579. package/dist/lib/plugins/openapi/StaggeredRender.d.ts +1 -1
  580. package/dist/lib/plugins/openapi/client/GraphQLClient.d.ts +8 -0
  581. package/dist/lib/plugins/openapi/client/GraphQLClient.js +43 -0
  582. package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -0
  583. package/dist/lib/plugins/openapi/client/GraphQLContext.d.ts +7 -0
  584. package/dist/lib/plugins/openapi/client/GraphQLContext.js +5 -0
  585. package/dist/lib/plugins/openapi/client/GraphQLContext.js.map +1 -0
  586. package/dist/lib/plugins/openapi/client/createServer.d.ts +3 -1
  587. package/dist/lib/plugins/openapi/client/createServer.js +6 -4
  588. package/dist/lib/plugins/openapi/client/createServer.js.map +1 -1
  589. package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +14 -0
  590. package/dist/lib/plugins/openapi/client/useCreateQuery.js +20 -0
  591. package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -0
  592. package/dist/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
  593. package/dist/lib/plugins/openapi/components/ConstValue.js +6 -0
  594. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -0
  595. package/dist/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
  596. package/dist/lib/plugins/openapi/components/EnumValues.js +15 -0
  597. package/dist/lib/plugins/openapi/components/EnumValues.js.map +1 -0
  598. package/dist/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
  599. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js +5 -0
  600. package/dist/lib/plugins/openapi/components/NonHighlightedCode.js.map +1 -0
  601. package/dist/lib/plugins/openapi/components/ResponseContent.d.ts +12 -0
  602. package/dist/lib/plugins/openapi/components/ResponseContent.js +20 -0
  603. package/dist/lib/plugins/openapi/components/ResponseContent.js.map +1 -0
  604. package/dist/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
  605. package/dist/lib/plugins/openapi/components/SelectOnClick.js +16 -0
  606. package/dist/lib/plugins/openapi/components/SelectOnClick.js.map +1 -0
  607. package/dist/lib/plugins/openapi/context.d.ts +3 -3
  608. package/dist/lib/plugins/openapi/graphql/fragment-masking.d.ts +3 -3
  609. package/dist/lib/plugins/openapi/graphql/fragment-masking.js +3 -4
  610. package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -1
  611. package/dist/lib/plugins/openapi/graphql/gql.d.ts +8 -46
  612. package/dist/lib/plugins/openapi/graphql/gql.js +6 -13
  613. package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
  614. package/dist/lib/plugins/openapi/graphql/graphql.d.ts +152 -26
  615. package/dist/lib/plugins/openapi/graphql/graphql.js +250 -662
  616. package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
  617. package/dist/lib/plugins/openapi/index.d.ts +11 -8
  618. package/dist/lib/plugins/openapi/index.js +114 -110
  619. package/dist/lib/plugins/openapi/index.js.map +1 -1
  620. package/dist/lib/plugins/openapi/interfaces.d.ts +76 -5
  621. package/dist/lib/plugins/openapi/playground/BodyPanel.d.ts +5 -0
  622. package/dist/lib/plugins/openapi/playground/BodyPanel.js +78 -0
  623. package/dist/lib/plugins/openapi/playground/BodyPanel.js.map +1 -0
  624. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.d.ts +8 -0
  625. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js +11 -0
  626. package/dist/lib/plugins/openapi/playground/CollapsibleHeader.js.map +1 -0
  627. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
  628. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +9 -0
  629. package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -0
  630. package/dist/lib/plugins/openapi/playground/Headers.d.ts +5 -4
  631. package/dist/lib/plugins/openapi/playground/Headers.js +50 -9
  632. package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
  633. package/dist/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
  634. package/dist/lib/plugins/openapi/playground/IdentityDialog.js +15 -0
  635. package/dist/lib/plugins/openapi/playground/IdentityDialog.js.map +1 -0
  636. package/dist/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
  637. package/dist/lib/plugins/openapi/playground/IdentitySelector.js +7 -0
  638. package/dist/lib/plugins/openapi/playground/IdentitySelector.js.map +1 -0
  639. package/dist/lib/plugins/openapi/playground/ParamsGrid.d.ts +17 -0
  640. package/dist/lib/plugins/openapi/playground/ParamsGrid.js +12 -0
  641. package/dist/lib/plugins/openapi/playground/ParamsGrid.js.map +1 -0
  642. package/dist/lib/plugins/openapi/playground/PathParams.d.ts +3 -2
  643. package/dist/lib/plugins/openapi/playground/PathParams.js +4 -8
  644. package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
  645. package/dist/lib/plugins/openapi/playground/Playground.d.ts +39 -2
  646. package/dist/lib/plugins/openapi/playground/Playground.js +213 -86
  647. package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
  648. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +6 -3
  649. package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -1
  650. package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +4 -4
  651. package/dist/lib/plugins/openapi/playground/QueryParams.js +22 -25
  652. package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
  653. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +8 -0
  654. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js +16 -0
  655. package/dist/lib/plugins/openapi/playground/RequestLoginDialog.js.map +1 -0
  656. package/dist/lib/plugins/openapi/playground/Spinner.d.ts +2 -0
  657. package/dist/lib/plugins/openapi/playground/Spinner.js +63 -0
  658. package/dist/lib/plugins/openapi/playground/Spinner.js.map +1 -0
  659. package/dist/lib/plugins/openapi/playground/fileUtils.d.ts +2 -0
  660. package/dist/lib/plugins/openapi/playground/fileUtils.js +22 -0
  661. package/dist/lib/plugins/openapi/playground/fileUtils.js.map +1 -0
  662. package/dist/lib/plugins/openapi/playground/rememberedIdentity.d.ts +19 -0
  663. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js +11 -0
  664. package/dist/lib/plugins/openapi/playground/rememberedIdentity.js.map +1 -0
  665. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
  666. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js +19 -0
  667. package/dist/lib/plugins/openapi/playground/request-panel/MultipartField.js.map +1 -0
  668. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.d.ts +3 -0
  669. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js +13 -0
  670. package/dist/lib/plugins/openapi/playground/request-panel/UrlPath.js.map +1 -0
  671. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.d.ts +1 -0
  672. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js +12 -0
  673. package/dist/lib/plugins/openapi/playground/request-panel/UrlQueryParams.js.map +1 -0
  674. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.d.ts +1 -0
  675. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js +540 -0
  676. package/dist/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.js.map +1 -0
  677. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
  678. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js +205 -0
  679. package/dist/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.js.map +1 -0
  680. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.d.ts +12 -0
  681. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js +11 -0
  682. package/dist/lib/plugins/openapi/playground/result-panel/Highlight.js.map +1 -0
  683. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.d.ts +8 -0
  684. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js +71 -0
  685. package/dist/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.js.map +1 -0
  686. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +14 -0
  687. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js +117 -0
  688. package/dist/lib/plugins/openapi/playground/result-panel/ResponseTab.js.map +1 -0
  689. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +11 -0
  690. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js +15 -0
  691. package/dist/lib/plugins/openapi/playground/result-panel/ResultPanel.js.map +1 -0
  692. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +10 -0
  693. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js +32 -0
  694. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.js.map +1 -0
  695. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.d.ts +1 -0
  696. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js +56 -0
  697. package/dist/lib/plugins/openapi/playground/result-panel/convertToTypes.test.js.map +1 -0
  698. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +18 -0
  699. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js +12 -0
  700. package/dist/lib/plugins/openapi/playground/useRememberSkipLoginDialog.js.map +1 -0
  701. package/dist/lib/plugins/openapi/processors/removeExtensions.d.ts +8 -0
  702. package/dist/lib/plugins/openapi/processors/removeExtensions.js +16 -0
  703. package/dist/lib/plugins/openapi/processors/removeExtensions.js.map +1 -0
  704. package/dist/lib/plugins/openapi/processors/removeExtensions.test.d.ts +1 -0
  705. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js +195 -0
  706. package/dist/lib/plugins/openapi/processors/removeExtensions.test.js.map +1 -0
  707. package/dist/lib/plugins/openapi/processors/removeParameters.d.ts +12 -0
  708. package/dist/lib/plugins/openapi/processors/removeParameters.js +66 -0
  709. package/dist/lib/plugins/openapi/processors/removeParameters.js.map +1 -0
  710. package/dist/lib/plugins/openapi/processors/removeParameters.test.d.ts +1 -0
  711. package/dist/lib/plugins/openapi/processors/removeParameters.test.js +160 -0
  712. package/dist/lib/plugins/openapi/processors/removeParameters.test.js.map +1 -0
  713. package/dist/lib/plugins/openapi/processors/removePaths.d.ts +13 -0
  714. package/dist/lib/plugins/openapi/processors/removePaths.js +33 -0
  715. package/dist/lib/plugins/openapi/processors/removePaths.js.map +1 -0
  716. package/dist/lib/plugins/openapi/processors/removePaths.test.d.ts +1 -0
  717. package/dist/lib/plugins/openapi/processors/removePaths.test.js +144 -0
  718. package/dist/lib/plugins/openapi/processors/removePaths.test.js.map +1 -0
  719. package/dist/lib/plugins/openapi/processors/traverse.d.ts +1 -0
  720. package/dist/lib/plugins/openapi/processors/traverse.js +2 -0
  721. package/dist/lib/plugins/openapi/processors/traverse.js.map +1 -0
  722. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
  723. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js +15 -0
  724. package/dist/lib/plugins/openapi/schema/SchemaExampleAndDefault.js.map +1 -0
  725. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +8 -0
  726. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +45 -0
  727. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -0
  728. package/dist/lib/plugins/openapi/schema/SchemaView.d.ts +4 -3
  729. package/dist/lib/plugins/openapi/schema/SchemaView.js +59 -50
  730. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  731. package/dist/lib/plugins/openapi/schema/UnionView.d.ts +5 -0
  732. package/dist/lib/plugins/openapi/schema/UnionView.js +33 -0
  733. package/dist/lib/plugins/openapi/schema/UnionView.js.map +1 -0
  734. package/dist/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
  735. package/dist/lib/plugins/openapi/schema/union-helpers.js +71 -0
  736. package/dist/lib/plugins/openapi/schema/union-helpers.js.map +1 -0
  737. package/dist/lib/plugins/openapi/schema/utils.d.ts +8 -8
  738. package/dist/lib/plugins/openapi/schema/utils.js +16 -10
  739. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  740. package/dist/lib/plugins/openapi/state.d.ts +27 -0
  741. package/dist/lib/plugins/openapi/state.js +18 -0
  742. package/dist/lib/plugins/openapi/state.js.map +1 -0
  743. package/dist/lib/plugins/openapi/util/createHttpSnippet.d.ts +11 -0
  744. package/dist/lib/plugins/openapi/util/createHttpSnippet.js +89 -0
  745. package/dist/lib/plugins/openapi/util/createHttpSnippet.js.map +1 -0
  746. package/dist/lib/plugins/openapi/util/createNavigationCategory.d.ts +9 -0
  747. package/dist/lib/plugins/openapi/util/createNavigationCategory.js +25 -0
  748. package/dist/lib/plugins/openapi/util/createNavigationCategory.js.map +1 -0
  749. package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +2 -3
  750. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +77 -39
  751. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  752. package/dist/lib/plugins/openapi/util/getRoutes.d.ts +15 -0
  753. package/dist/lib/plugins/openapi/util/getRoutes.js +144 -0
  754. package/dist/lib/plugins/openapi/util/getRoutes.js.map +1 -0
  755. package/dist/lib/plugins/openapi/util/methodColorMap.d.ts +2 -0
  756. package/dist/lib/plugins/openapi/util/methodColorMap.js +10 -0
  757. package/dist/lib/plugins/openapi/util/methodColorMap.js.map +1 -0
  758. package/dist/lib/plugins/openapi/util/methodToColor.d.ts +20 -0
  759. package/dist/lib/plugins/openapi/util/methodToColor.js +24 -0
  760. package/dist/lib/plugins/openapi/util/methodToColor.js.map +1 -0
  761. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
  762. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js +27 -0
  763. package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js.map +1 -0
  764. package/dist/lib/plugins/redirect/index.d.ts +4 -7
  765. package/dist/lib/plugins/redirect/index.js +2 -2
  766. package/dist/lib/plugins/redirect/index.js.map +1 -1
  767. package/dist/lib/plugins/search-inkeep/index.d.ts +8 -6
  768. package/dist/lib/plugins/search-inkeep/index.js +49 -7
  769. package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
  770. package/dist/lib/plugins/search-inkeep/inkeep.d.ts +2 -19
  771. package/dist/lib/plugins/search-inkeep/inkeep.js +10 -19
  772. package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -1
  773. package/dist/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
  774. package/dist/lib/plugins/search-pagefind/IndexingDialog.js +64 -0
  775. package/dist/lib/plugins/search-pagefind/IndexingDialog.js.map +1 -0
  776. package/dist/lib/plugins/search-pagefind/PagefindSearch.d.ts +6 -0
  777. package/dist/lib/plugins/search-pagefind/PagefindSearch.js +97 -0
  778. package/dist/lib/plugins/search-pagefind/PagefindSearch.js.map +1 -0
  779. package/dist/lib/plugins/search-pagefind/ResultList.d.ts +8 -0
  780. package/dist/lib/plugins/search-pagefind/ResultList.js +43 -0
  781. package/dist/lib/plugins/search-pagefind/ResultList.js.map +1 -0
  782. package/dist/lib/plugins/search-pagefind/get-results.d.ts +10 -0
  783. package/dist/lib/plugins/search-pagefind/get-results.js +41 -0
  784. package/dist/lib/plugins/search-pagefind/get-results.js.map +1 -0
  785. package/dist/lib/plugins/search-pagefind/index.d.ts +6 -0
  786. package/dist/lib/plugins/search-pagefind/index.js +9 -0
  787. package/dist/lib/plugins/search-pagefind/index.js.map +1 -0
  788. package/dist/lib/plugins/search-pagefind/types.d.ts +85 -0
  789. package/dist/lib/plugins/search-pagefind/types.js +2 -0
  790. package/dist/lib/plugins/search-pagefind/types.js.map +1 -0
  791. package/dist/lib/shiki.d.ts +32 -0
  792. package/dist/lib/shiki.js +130 -0
  793. package/dist/lib/shiki.js.map +1 -0
  794. package/dist/lib/ui/Accordion.d.ts +7 -0
  795. package/dist/lib/ui/Accordion.js +14 -0
  796. package/dist/lib/ui/Accordion.js.map +1 -0
  797. package/dist/lib/ui/ActionButton.d.ts +4 -0
  798. package/dist/lib/ui/ActionButton.js +10 -0
  799. package/dist/lib/ui/ActionButton.js.map +1 -0
  800. package/dist/lib/ui/Alert.d.ts +9 -0
  801. package/dist/lib/ui/Alert.js +25 -0
  802. package/dist/lib/ui/Alert.js.map +1 -0
  803. package/dist/lib/ui/AlertDialog.d.ts +20 -0
  804. package/dist/lib/ui/AlertDialog.js +27 -0
  805. package/dist/lib/ui/AlertDialog.js.map +1 -0
  806. package/dist/lib/ui/AspectRatio.d.ts +3 -0
  807. package/dist/lib/ui/AspectRatio.js +4 -0
  808. package/dist/lib/ui/AspectRatio.js.map +1 -0
  809. package/dist/lib/ui/Badge.d.ts +9 -0
  810. package/dist/lib/ui/Badge.js +24 -0
  811. package/dist/lib/ui/Badge.js.map +1 -0
  812. package/dist/lib/ui/Breadcrumb.d.ts +19 -0
  813. package/dist/lib/ui/Breadcrumb.js +24 -0
  814. package/dist/lib/ui/Breadcrumb.js.map +1 -0
  815. package/dist/lib/ui/Button.d.ts +4 -5
  816. package/dist/lib/ui/Button.js +12 -7
  817. package/dist/lib/ui/Button.js.map +1 -1
  818. package/dist/lib/ui/ButtonGroup.d.ts +11 -0
  819. package/dist/lib/ui/ButtonGroup.js +28 -0
  820. package/dist/lib/ui/ButtonGroup.js.map +1 -0
  821. package/dist/lib/ui/Callout.d.ts +38 -36
  822. package/dist/lib/ui/Callout.js +8 -7
  823. package/dist/lib/ui/Callout.js.map +1 -1
  824. package/dist/lib/ui/Card.js +1 -1
  825. package/dist/lib/ui/Card.js.map +1 -1
  826. package/dist/lib/ui/Carousel.d.ts +18 -0
  827. package/dist/lib/ui/Carousel.js +99 -0
  828. package/dist/lib/ui/Carousel.js.map +1 -0
  829. package/dist/lib/ui/Checkbox.d.ts +4 -0
  830. package/dist/lib/ui/Checkbox.js +9 -0
  831. package/dist/lib/ui/Checkbox.js.map +1 -0
  832. package/dist/lib/ui/CodeBlock.d.ts +14 -0
  833. package/dist/lib/ui/CodeBlock.js +18 -0
  834. package/dist/lib/ui/CodeBlock.js.map +1 -0
  835. package/dist/lib/ui/Collapsible.d.ts +5 -0
  836. package/dist/lib/ui/Collapsible.js +13 -0
  837. package/dist/lib/ui/Collapsible.js.map +1 -0
  838. package/dist/lib/ui/Command.d.ts +94 -0
  839. package/dist/lib/ui/Command.js +31 -0
  840. package/dist/lib/ui/Command.js.map +1 -0
  841. package/dist/lib/ui/Dialog.d.ts +15 -0
  842. package/dist/lib/ui/Dialog.js +36 -0
  843. package/dist/lib/ui/Dialog.js.map +1 -0
  844. package/dist/lib/ui/Drawer.d.ts +8 -10
  845. package/dist/lib/ui/Drawer.js.map +1 -1
  846. package/dist/lib/ui/DropdownMenu.d.ts +21 -23
  847. package/dist/lib/ui/DropdownMenu.js +47 -32
  848. package/dist/lib/ui/DropdownMenu.js.map +1 -1
  849. package/dist/lib/ui/EmbeddedCodeBlock.d.ts +16 -0
  850. package/dist/lib/ui/EmbeddedCodeBlock.js +19 -0
  851. package/dist/lib/ui/EmbeddedCodeBlock.js.map +1 -0
  852. package/dist/lib/ui/Form.d.ts +23 -0
  853. package/dist/lib/ui/Form.js +63 -0
  854. package/dist/lib/ui/Form.js.map +1 -0
  855. package/dist/lib/ui/Frame.d.ts +8 -0
  856. package/dist/lib/ui/Frame.js +22 -0
  857. package/dist/lib/ui/Frame.js.map +1 -0
  858. package/dist/lib/ui/HoverCard.d.ts +6 -0
  859. package/dist/lib/ui/HoverCard.js +10 -0
  860. package/dist/lib/ui/HoverCard.js.map +1 -0
  861. package/dist/lib/ui/Input.d.ts +1 -2
  862. package/dist/lib/ui/Input.js +1 -1
  863. package/dist/lib/ui/Input.js.map +1 -1
  864. package/dist/lib/ui/Item.d.ts +23 -0
  865. package/dist/lib/ui/Item.js +67 -0
  866. package/dist/lib/ui/Item.js.map +1 -0
  867. package/dist/lib/ui/Kbd.d.ts +3 -0
  868. package/dist/lib/ui/Kbd.js +10 -0
  869. package/dist/lib/ui/Kbd.js.map +1 -0
  870. package/dist/lib/ui/Label.d.ts +5 -0
  871. package/dist/lib/ui/Label.js +10 -0
  872. package/dist/lib/ui/Label.js.map +1 -0
  873. package/dist/lib/ui/NativeSelect.d.ts +5 -0
  874. package/dist/lib/ui/NativeSelect.js +14 -0
  875. package/dist/lib/ui/NativeSelect.js.map +1 -0
  876. package/dist/lib/ui/Pagination.d.ts +28 -0
  877. package/dist/lib/ui/Pagination.js +24 -0
  878. package/dist/lib/ui/Pagination.js.map +1 -0
  879. package/dist/lib/ui/Popover.d.ts +6 -0
  880. package/dist/lib/ui/Popover.js +10 -0
  881. package/dist/lib/ui/Popover.js.map +1 -0
  882. package/dist/lib/ui/Progress.d.ts +4 -0
  883. package/dist/lib/ui/Progress.js +8 -0
  884. package/dist/lib/ui/Progress.js.map +1 -0
  885. package/dist/lib/ui/RadioGroup.d.ts +5 -0
  886. package/dist/lib/ui/RadioGroup.js +15 -0
  887. package/dist/lib/ui/RadioGroup.js.map +1 -0
  888. package/dist/lib/ui/ReactComponentDoc.d.ts +20 -0
  889. package/dist/lib/ui/ReactComponentDoc.js +10 -0
  890. package/dist/lib/ui/ReactComponentDoc.js.map +1 -0
  891. package/dist/lib/ui/ScrollArea.d.ts +5 -0
  892. package/dist/lib/ui/ScrollArea.js +12 -0
  893. package/dist/lib/ui/ScrollArea.js.map +1 -0
  894. package/dist/lib/ui/Secret.d.ts +18 -0
  895. package/dist/lib/ui/Secret.js +26 -0
  896. package/dist/lib/ui/Secret.js.map +1 -0
  897. package/dist/lib/ui/Select.d.ts +15 -0
  898. package/dist/lib/ui/Select.js +38 -0
  899. package/dist/lib/ui/Select.js.map +1 -0
  900. package/dist/lib/ui/Separator.d.ts +4 -0
  901. package/dist/lib/ui/Separator.js +8 -0
  902. package/dist/lib/ui/Separator.js.map +1 -0
  903. package/dist/lib/ui/Skeleton.d.ts +2 -0
  904. package/dist/lib/ui/Skeleton.js +7 -0
  905. package/dist/lib/ui/Skeleton.js.map +1 -0
  906. package/dist/lib/ui/Slider.d.ts +4 -0
  907. package/dist/lib/ui/Slider.js +8 -0
  908. package/dist/lib/ui/Slider.js.map +1 -0
  909. package/dist/lib/ui/Stepper.d.ts +3 -0
  910. package/dist/lib/ui/Stepper.js +7 -0
  911. package/dist/lib/ui/Stepper.js.map +1 -0
  912. package/dist/lib/ui/Switch.d.ts +4 -0
  913. package/dist/lib/ui/Switch.js +8 -0
  914. package/dist/lib/ui/Switch.js.map +1 -0
  915. package/dist/lib/ui/SyntaxHighlight.d.ts +13 -0
  916. package/dist/lib/ui/SyntaxHighlight.js +15 -0
  917. package/dist/lib/ui/SyntaxHighlight.js.map +1 -0
  918. package/dist/lib/ui/Tabs.js +2 -2
  919. package/dist/lib/ui/Tabs.js.map +1 -1
  920. package/dist/lib/ui/Textarea.d.ts +4 -0
  921. package/dist/lib/ui/Textarea.js +9 -0
  922. package/dist/lib/ui/Textarea.js.map +1 -0
  923. package/dist/lib/ui/Toggle.d.ts +12 -0
  924. package/dist/lib/ui/Toggle.js +26 -0
  925. package/dist/lib/ui/Toggle.js.map +1 -0
  926. package/dist/lib/ui/ToggleGroup.d.ts +12 -0
  927. package/dist/lib/ui/ToggleGroup.js +21 -0
  928. package/dist/lib/ui/ToggleGroup.js.map +1 -0
  929. package/dist/lib/ui/Tooltip.d.ts +8 -0
  930. package/dist/lib/ui/Tooltip.js +18 -0
  931. package/dist/lib/ui/Tooltip.js.map +1 -0
  932. package/dist/lib/ui/Value.d.ts +5 -0
  933. package/dist/lib/ui/Value.js +13 -0
  934. package/dist/lib/ui/Value.js.map +1 -0
  935. package/dist/lib/ui/util.d.ts +2 -0
  936. package/dist/lib/ui/util.js +3 -0
  937. package/dist/lib/ui/util.js.map +1 -0
  938. package/dist/lib/util/MdxComponents.d.ts +40 -21
  939. package/dist/lib/util/MdxComponents.js +26 -17
  940. package/dist/lib/util/MdxComponents.js.map +1 -1
  941. package/dist/lib/util/cn.js.map +1 -1
  942. package/dist/lib/util/createVariantComponent.d.ts +7 -4
  943. package/dist/lib/util/createVariantComponent.js +5 -2
  944. package/dist/lib/util/createVariantComponent.js.map +1 -1
  945. package/dist/lib/util/detectOS.d.ts +1 -0
  946. package/dist/lib/util/detectOS.js +11 -0
  947. package/dist/lib/util/detectOS.js.map +1 -0
  948. package/dist/lib/util/ensureArray.d.ts +1 -0
  949. package/dist/lib/util/ensureArray.js +2 -0
  950. package/dist/lib/util/ensureArray.js.map +1 -0
  951. package/dist/lib/util/flattenAllOf.d.ts +4 -0
  952. package/dist/lib/util/flattenAllOf.js +88 -0
  953. package/dist/lib/util/flattenAllOf.js.map +1 -0
  954. package/dist/lib/util/flattenAllOf.test.d.ts +1 -0
  955. package/dist/lib/util/flattenAllOf.test.js +587 -0
  956. package/dist/lib/util/flattenAllOf.test.js.map +1 -0
  957. package/dist/lib/util/groupBy.js +1 -0
  958. package/dist/lib/util/groupBy.js.map +1 -1
  959. package/dist/lib/util/humanFileSize.d.ts +6 -0
  960. package/dist/lib/util/humanFileSize.js +14 -0
  961. package/dist/lib/util/humanFileSize.js.map +1 -0
  962. package/dist/lib/util/humanFileSize.test.d.ts +1 -0
  963. package/dist/lib/util/humanFileSize.test.js +22 -0
  964. package/dist/lib/util/humanFileSize.test.js.map +1 -0
  965. package/dist/lib/util/invariant.d.ts +10 -0
  966. package/dist/lib/util/invariant.js +10 -4
  967. package/dist/lib/util/invariant.js.map +1 -1
  968. package/dist/lib/util/joinPath.d.ts +3 -0
  969. package/dist/lib/util/joinPath.js +3 -0
  970. package/dist/lib/util/joinPath.js.map +1 -1
  971. package/dist/lib/util/joinUrl.d.ts +1 -0
  972. package/dist/lib/util/joinUrl.js +40 -0
  973. package/dist/lib/util/joinUrl.js.map +1 -0
  974. package/dist/lib/util/joinUrl.test.d.ts +1 -0
  975. package/dist/lib/util/joinUrl.test.js +43 -0
  976. package/dist/lib/util/joinUrl.test.js.map +1 -0
  977. package/dist/lib/util/os.d.ts +2 -0
  978. package/dist/lib/util/os.js +21 -0
  979. package/dist/lib/util/os.js.map +1 -0
  980. package/dist/lib/util/pastellize.js +4 -4
  981. package/dist/lib/util/pastellize.js.map +1 -1
  982. package/dist/lib/util/readFrontmatter.d.ts +6 -0
  983. package/dist/lib/util/readFrontmatter.js +12 -0
  984. package/dist/lib/util/readFrontmatter.js.map +1 -0
  985. package/dist/lib/util/scrollIntoViewIfNeeded.d.ts +1 -0
  986. package/dist/lib/util/scrollIntoViewIfNeeded.js +14 -0
  987. package/dist/lib/util/scrollIntoViewIfNeeded.js.map +1 -0
  988. package/dist/lib/util/syncZustandState.d.ts +5 -0
  989. package/dist/lib/util/syncZustandState.js +14 -0
  990. package/dist/lib/util/syncZustandState.js.map +1 -0
  991. package/dist/lib/util/traverse.d.ts +4 -0
  992. package/dist/lib/util/traverse.js +48 -0
  993. package/dist/lib/util/traverse.js.map +1 -0
  994. package/dist/lib/util/types.d.ts +7 -0
  995. package/dist/lib/util/types.js +2 -0
  996. package/dist/lib/util/types.js.map +1 -0
  997. package/dist/lib/util/url.d.ts +4 -0
  998. package/dist/lib/util/url.js +13 -0
  999. package/dist/lib/util/url.js.map +1 -0
  1000. package/dist/lib/util/url.test.d.ts +1 -0
  1001. package/dist/lib/util/url.test.js +26 -0
  1002. package/dist/lib/util/url.test.js.map +1 -0
  1003. package/dist/lib/util/useCopyToClipboard.d.ts +1 -0
  1004. package/dist/lib/util/useCopyToClipboard.js +11 -0
  1005. package/dist/lib/util/useCopyToClipboard.js.map +1 -0
  1006. package/dist/lib/util/useExposedProps.d.ts +9 -0
  1007. package/dist/lib/util/useExposedProps.js +9 -0
  1008. package/dist/lib/util/useExposedProps.js.map +1 -0
  1009. package/dist/lib/util/useIsomorphicLayoutEffect.d.ts +3 -0
  1010. package/dist/lib/util/useIsomorphicLayoutEffect.js +4 -0
  1011. package/dist/lib/util/useIsomorphicLayoutEffect.js.map +1 -0
  1012. package/dist/lib/util/useLatest.d.ts +1 -0
  1013. package/dist/lib/util/useLatest.js +15 -0
  1014. package/dist/lib/util/useLatest.js.map +1 -0
  1015. package/dist/lib/util/useOnScreen.d.ts +5 -0
  1016. package/dist/lib/util/useOnScreen.js +19 -0
  1017. package/dist/lib/util/useOnScreen.js.map +1 -0
  1018. package/dist/lib/util/useScrollToAnchor.d.ts +1 -0
  1019. package/dist/lib/util/useScrollToAnchor.js +45 -38
  1020. package/dist/lib/util/useScrollToAnchor.js.map +1 -1
  1021. package/dist/lib/util/useScrollToTop.js +7 -5
  1022. package/dist/lib/util/useScrollToTop.js.map +1 -1
  1023. package/dist/ts.js +3 -3
  1024. package/dist/ts.js.map +1 -1
  1025. package/dist/vite/api/SchemaManager.d.ts +43 -0
  1026. package/dist/vite/api/SchemaManager.js +176 -0
  1027. package/dist/vite/api/SchemaManager.js.map +1 -0
  1028. package/dist/vite/api/SchemaManager.test.d.ts +1 -0
  1029. package/dist/vite/api/SchemaManager.test.js +173 -0
  1030. package/dist/vite/api/SchemaManager.test.js.map +1 -0
  1031. package/dist/vite/api/schema-codegen.d.ts +12 -0
  1032. package/dist/vite/api/schema-codegen.js +134 -0
  1033. package/dist/vite/api/schema-codegen.js.map +1 -0
  1034. package/dist/vite/api/schema-codegen.test.d.ts +1 -0
  1035. package/dist/vite/api/schema-codegen.test.js +468 -0
  1036. package/dist/vite/api/schema-codegen.test.js.map +1 -0
  1037. package/dist/vite/build.js +63 -14
  1038. package/dist/vite/build.js.map +1 -1
  1039. package/dist/vite/config.d.ts +2 -16
  1040. package/dist/vite/config.js +125 -147
  1041. package/dist/vite/config.js.map +1 -1
  1042. package/dist/vite/config.test.js +12 -6
  1043. package/dist/vite/config.test.js.map +1 -1
  1044. package/dist/vite/css/collect.d.ts +2 -0
  1045. package/dist/vite/css/collect.js +27 -0
  1046. package/dist/vite/css/collect.js.map +1 -0
  1047. package/dist/vite/css/plugin.d.ts +4 -0
  1048. package/dist/vite/css/plugin.js +91 -0
  1049. package/dist/vite/css/plugin.js.map +1 -0
  1050. package/dist/vite/debug.d.ts +1 -0
  1051. package/dist/vite/debug.js +10 -0
  1052. package/dist/vite/debug.js.map +1 -0
  1053. package/dist/vite/dev-server.d.ts +11 -4
  1054. package/dist/vite/dev-server.js +116 -22
  1055. package/dist/vite/dev-server.js.map +1 -1
  1056. package/dist/vite/error-handler.d.ts +3 -3
  1057. package/dist/vite/error-handler.js +1 -1
  1058. package/dist/vite/error-handler.js.map +1 -1
  1059. package/dist/vite/html.d.ts +7 -3
  1060. package/dist/vite/html.js +15 -11
  1061. package/dist/vite/html.js.map +1 -1
  1062. package/dist/vite/llms.d.ts +12 -0
  1063. package/dist/vite/llms.js +66 -0
  1064. package/dist/vite/llms.js.map +1 -0
  1065. package/dist/vite/mdx/remark-inject-filepath.d.ts +3 -0
  1066. package/dist/vite/mdx/remark-inject-filepath.js +6 -0
  1067. package/dist/vite/mdx/remark-inject-filepath.js.map +1 -0
  1068. package/dist/vite/mdx/remark-last-modified.d.ts +3 -0
  1069. package/dist/vite/mdx/remark-last-modified.js +82 -0
  1070. package/dist/vite/mdx/remark-last-modified.js.map +1 -0
  1071. package/dist/vite/mdx/remark-link-rewrite.d.ts +2 -0
  1072. package/dist/vite/mdx/remark-link-rewrite.js +20 -0
  1073. package/dist/vite/mdx/remark-link-rewrite.js.map +1 -0
  1074. package/dist/vite/mdx/remark-normalize-image-url.d.ts +2 -0
  1075. package/dist/vite/mdx/remark-normalize-image-url.js +12 -0
  1076. package/dist/vite/mdx/remark-normalize-image-url.js.map +1 -0
  1077. package/dist/vite/mdx/remark-static-generation.d.ts +3 -0
  1078. package/dist/vite/mdx/remark-static-generation.js +125 -0
  1079. package/dist/vite/mdx/remark-static-generation.js.map +1 -0
  1080. package/dist/vite/mdx/utils.d.ts +2 -0
  1081. package/dist/vite/mdx/utils.js +31 -0
  1082. package/dist/vite/mdx/utils.js.map +1 -0
  1083. package/dist/vite/output.d.ts +113 -0
  1084. package/dist/vite/output.js +60 -0
  1085. package/dist/vite/output.js.map +1 -0
  1086. package/dist/vite/pagefind-dev-index.d.ts +16 -0
  1087. package/dist/vite/pagefind-dev-index.js +68 -0
  1088. package/dist/vite/pagefind-dev-index.js.map +1 -0
  1089. package/dist/vite/plugin-api-keys.d.ts +2 -3
  1090. package/dist/vite/plugin-api-keys.js +14 -8
  1091. package/dist/vite/plugin-api-keys.js.map +1 -1
  1092. package/dist/vite/plugin-api.d.ts +1 -2
  1093. package/dist/vite/plugin-api.js +186 -33
  1094. package/dist/vite/plugin-api.js.map +1 -1
  1095. package/dist/vite/plugin-auth.d.ts +2 -3
  1096. package/dist/vite/plugin-auth.js +11 -7
  1097. package/dist/vite/plugin-auth.js.map +1 -1
  1098. package/dist/vite/plugin-component.d.ts +2 -3
  1099. package/dist/vite/plugin-component.js +25 -15
  1100. package/dist/vite/plugin-component.js.map +1 -1
  1101. package/dist/vite/plugin-config-reload.d.ts +3 -4
  1102. package/dist/vite/plugin-config-reload.js +31 -25
  1103. package/dist/vite/plugin-config-reload.js.map +1 -1
  1104. package/dist/vite/plugin-config.d.ts +2 -4
  1105. package/dist/vite/plugin-config.js +28 -3
  1106. package/dist/vite/plugin-config.js.map +1 -1
  1107. package/dist/vite/plugin-custom-pages.d.ts +3 -0
  1108. package/dist/vite/plugin-custom-pages.js +31 -0
  1109. package/dist/vite/plugin-custom-pages.js.map +1 -0
  1110. package/dist/vite/plugin-docs.d.ts +11 -3
  1111. package/dist/vite/plugin-docs.js +100 -41
  1112. package/dist/vite/plugin-docs.js.map +1 -1
  1113. package/dist/vite/plugin-frontmatter.js +33 -26
  1114. package/dist/vite/plugin-frontmatter.js.map +1 -1
  1115. package/dist/vite/plugin-markdown-export.d.ts +21 -0
  1116. package/dist/vite/plugin-markdown-export.js +140 -0
  1117. package/dist/vite/plugin-markdown-export.js.map +1 -0
  1118. package/dist/vite/plugin-mdx.d.ts +2 -9
  1119. package/dist/vite/plugin-mdx.js +92 -36
  1120. package/dist/vite/plugin-mdx.js.map +1 -1
  1121. package/dist/vite/plugin-metadata.d.ts +1 -1
  1122. package/dist/vite/plugin-navigation.d.ts +4 -0
  1123. package/dist/vite/plugin-navigation.js +67 -0
  1124. package/dist/vite/plugin-navigation.js.map +1 -0
  1125. package/dist/vite/plugin-redirect.d.ts +2 -3
  1126. package/dist/vite/plugin-redirect.js +7 -6
  1127. package/dist/vite/plugin-redirect.js.map +1 -1
  1128. package/dist/vite/plugin-search.d.ts +2 -0
  1129. package/dist/vite/plugin-search.js +31 -0
  1130. package/dist/vite/plugin-search.js.map +1 -0
  1131. package/dist/vite/plugin-shiki-register.d.ts +2 -0
  1132. package/dist/vite/plugin-shiki-register.js +39 -0
  1133. package/dist/vite/plugin-shiki-register.js.map +1 -0
  1134. package/dist/vite/plugin-theme.d.ts +8 -0
  1135. package/dist/vite/plugin-theme.js +283 -0
  1136. package/dist/vite/plugin-theme.js.map +1 -0
  1137. package/dist/vite/plugin-theme.test.d.ts +1 -0
  1138. package/dist/vite/plugin-theme.test.js +314 -0
  1139. package/dist/vite/plugin-theme.test.js.map +1 -0
  1140. package/dist/vite/plugin.d.ts +2 -4
  1141. package/dist/vite/plugin.js +28 -19
  1142. package/dist/vite/plugin.js.map +1 -1
  1143. package/dist/vite/prerender/FileWritingResponse.d.ts +25 -0
  1144. package/dist/vite/prerender/FileWritingResponse.js +53 -0
  1145. package/dist/vite/prerender/FileWritingResponse.js.map +1 -0
  1146. package/dist/vite/prerender/InMemoryResponse.d.ts +16 -0
  1147. package/dist/vite/prerender/InMemoryResponse.js +34 -0
  1148. package/dist/vite/prerender/InMemoryResponse.js.map +1 -0
  1149. package/dist/vite/prerender/PrerenderResponse.d.ts +10 -0
  1150. package/dist/vite/prerender/PrerenderResponse.js +2 -0
  1151. package/dist/vite/prerender/PrerenderResponse.js.map +1 -0
  1152. package/dist/vite/prerender/prerender.d.ts +15 -0
  1153. package/dist/vite/prerender/prerender.js +124 -0
  1154. package/dist/vite/prerender/prerender.js.map +1 -0
  1155. package/dist/vite/prerender/utils.d.ts +2 -0
  1156. package/dist/vite/prerender/utils.js +24 -0
  1157. package/dist/vite/prerender/utils.js.map +1 -0
  1158. package/dist/vite/prerender/worker.d.ts +13 -0
  1159. package/dist/vite/prerender/worker.js +63 -0
  1160. package/dist/vite/prerender/worker.js.map +1 -0
  1161. package/dist/vite/reporter.d.ts +3 -0
  1162. package/dist/vite/reporter.js +33 -0
  1163. package/dist/vite/reporter.js.map +1 -0
  1164. package/dist/vite/shadcn-registry.d.ts +20 -0
  1165. package/dist/vite/shadcn-registry.js +29 -0
  1166. package/dist/vite/shadcn-registry.js.map +1 -0
  1167. package/dist/vite/sitemap.d.ts +1 -1
  1168. package/dist/vite/sitemap.js +16 -14
  1169. package/dist/vite/sitemap.js.map +1 -1
  1170. package/dist/zuplo/enrich-with-zuplo-mcp.d.ts +4 -0
  1171. package/dist/zuplo/enrich-with-zuplo-mcp.js +117 -0
  1172. package/dist/zuplo/enrich-with-zuplo-mcp.js.map +1 -0
  1173. package/dist/zuplo/enrich-with-zuplo.d.ts +6 -0
  1174. package/dist/zuplo/enrich-with-zuplo.js +185 -0
  1175. package/dist/zuplo/enrich-with-zuplo.js.map +1 -0
  1176. package/dist/zuplo/policy-types.d.ts +33 -0
  1177. package/dist/zuplo/policy-types.js +7 -0
  1178. package/dist/zuplo/policy-types.js.map +1 -0
  1179. package/dist/zuplo/with-zuplo-processors.d.ts +3 -0
  1180. package/dist/zuplo/with-zuplo-processors.js +28 -0
  1181. package/dist/zuplo/with-zuplo-processors.js.map +1 -0
  1182. package/dist/zuplo/with-zuplo.d.ts +6 -0
  1183. package/dist/zuplo/with-zuplo.js +10 -0
  1184. package/dist/zuplo/with-zuplo.js.map +1 -0
  1185. package/lib/ActionButton-DUgvSylL.js +25 -0
  1186. package/lib/ActionButton-DUgvSylL.js.map +1 -0
  1187. package/lib/Button-CynVW1JV.js +53 -0
  1188. package/lib/Button-CynVW1JV.js.map +1 -0
  1189. package/lib/Card-KFniaZn5.js +61 -0
  1190. package/lib/Card-KFniaZn5.js.map +1 -0
  1191. package/lib/CategoryHeading-DhmodDcq.js +17 -0
  1192. package/lib/CategoryHeading-DhmodDcq.js.map +1 -0
  1193. package/lib/ClaudeLogo-CGRfGTk2.js +69 -0
  1194. package/lib/ClaudeLogo-CGRfGTk2.js.map +1 -0
  1195. package/lib/ClientOnly-E7hGysn1.js +11 -0
  1196. package/lib/ClientOnly-E7hGysn1.js.map +1 -0
  1197. package/lib/Command-BpT1iBE6.js +134 -0
  1198. package/lib/Command-BpT1iBE6.js.map +1 -0
  1199. package/lib/Dialog-BQciPiHN.js +144 -0
  1200. package/lib/Dialog-BQciPiHN.js.map +1 -0
  1201. package/lib/Drawer-Ci7XwhqT.js +1133 -0
  1202. package/lib/Drawer-Ci7XwhqT.js.map +1 -0
  1203. package/lib/DropdownMenu-C8SX_-S_.js +104 -0
  1204. package/lib/DropdownMenu-C8SX_-S_.js.map +1 -0
  1205. package/lib/ErrorAlert-BUlG32M9.js +15477 -0
  1206. package/lib/ErrorAlert-BUlG32M9.js.map +1 -0
  1207. package/lib/IndexingDialog-B5zCiUKr.js +100 -0
  1208. package/lib/IndexingDialog-B5zCiUKr.js.map +1 -0
  1209. package/lib/MdxPage-Bjf72BP3.js +210 -0
  1210. package/lib/MdxPage-Bjf72BP3.js.map +1 -0
  1211. package/lib/Mermaid-D_VSX7_Q.js +102 -0
  1212. package/lib/Mermaid-D_VSX7_Q.js.map +1 -0
  1213. package/lib/OAuthErrorPage-1Ekji0PK.js +150 -0
  1214. package/lib/OAuthErrorPage-1Ekji0PK.js.map +1 -0
  1215. package/lib/OasProvider-BZxmTyMM.js +40 -0
  1216. package/lib/OasProvider-BZxmTyMM.js.map +1 -0
  1217. package/lib/OperationList-B7nPIFB8.js +5805 -0
  1218. package/lib/OperationList-B7nPIFB8.js.map +1 -0
  1219. package/lib/RouteGuard-9wjejsKm.js +77 -0
  1220. package/lib/RouteGuard-9wjejsKm.js.map +1 -0
  1221. package/lib/RouterError-DfTZblpv.js +42 -0
  1222. package/lib/RouterError-DfTZblpv.js.map +1 -0
  1223. package/lib/SchemaList-16_obkku.js +151 -0
  1224. package/lib/SchemaList-16_obkku.js.map +1 -0
  1225. package/lib/SchemaView-eyvR4bRt.js +597 -0
  1226. package/lib/SchemaView-eyvR4bRt.js.map +1 -0
  1227. package/lib/Select-CkxXP5I7.js +243 -0
  1228. package/lib/Select-CkxXP5I7.js.map +1 -0
  1229. package/lib/Separator-CTPSeW1S.js +27 -0
  1230. package/lib/Separator-CTPSeW1S.js.map +1 -0
  1231. package/lib/SignUp-D54_QWFy.js +50 -0
  1232. package/lib/SignUp-D54_QWFy.js.map +1 -0
  1233. package/lib/Spinner-CI6bRyZw.js +7 -0
  1234. package/lib/Spinner-CI6bRyZw.js.map +1 -0
  1235. package/lib/SyntaxHighlight-j_HRSPCU.js +10400 -0
  1236. package/lib/SyntaxHighlight-j_HRSPCU.js.map +1 -0
  1237. package/lib/Toc-z05x698-.js +92 -0
  1238. package/lib/Toc-z05x698-.js.map +1 -0
  1239. package/lib/ZudokuContext-BXldanA8.js +1508 -0
  1240. package/lib/ZudokuContext-BXldanA8.js.map +1 -0
  1241. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js +9 -0
  1242. package/lib/___vite-browser-external_commonjs-proxy-Cga3HsWk.js.map +1 -0
  1243. package/lib/c-B-NUhs61.js +46 -0
  1244. package/lib/c-B-NUhs61.js.map +1 -0
  1245. package/lib/chunk-PVWAREVJ-dLIqswPy.js +7965 -0
  1246. package/lib/chunk-PVWAREVJ-dLIqswPy.js.map +1 -0
  1247. package/lib/circular-D5sYCIWL.js +15341 -0
  1248. package/lib/circular-D5sYCIWL.js.map +1 -0
  1249. package/lib/clsx-OuTLNxxd.js +17 -0
  1250. package/lib/clsx-OuTLNxxd.js.map +1 -0
  1251. package/lib/cn-dYga0KKN.js +2731 -0
  1252. package/lib/cn-dYga0KKN.js.map +1 -0
  1253. package/lib/commonlisp-De080z23.js +28 -0
  1254. package/lib/commonlisp-De080z23.js.map +1 -0
  1255. package/lib/cpp-79Paht7T.js +53 -0
  1256. package/lib/cpp-79Paht7T.js.map +1 -0
  1257. package/lib/createServer-BlwU7lIr.js +16693 -0
  1258. package/lib/createServer-BlwU7lIr.js.map +1 -0
  1259. package/lib/createVariantComponent-B9_dVBvu.js +35 -0
  1260. package/lib/createVariantComponent-B9_dVBvu.js.map +1 -0
  1261. package/lib/csharp-D8MIL50B.js +53 -0
  1262. package/lib/csharp-D8MIL50B.js.map +1 -0
  1263. package/lib/css-Bt6hr1td.js +54 -0
  1264. package/lib/css-Bt6hr1td.js.map +1 -0
  1265. package/lib/dart-B0vy1jWB.js +60 -0
  1266. package/lib/dart-B0vy1jWB.js.map +1 -0
  1267. package/lib/elixir-Ds8r0sF8.js +25 -0
  1268. package/lib/elixir-Ds8r0sF8.js.map +1 -0
  1269. package/lib/errors-BtC4Kn2j.js +45 -0
  1270. package/lib/errors-BtC4Kn2j.js.map +1 -0
  1271. package/lib/firebase-DApULm96.js +7390 -0
  1272. package/lib/firebase-DApULm96.js.map +1 -0
  1273. package/lib/go-D2VsmIOS.js +25 -0
  1274. package/lib/go-D2VsmIOS.js.map +1 -0
  1275. package/lib/graphql-BtA6M4m5.js +25 -0
  1276. package/lib/graphql-BtA6M4m5.js.map +1 -0
  1277. package/lib/hook-BNxidGQq.js +40 -0
  1278. package/lib/hook-BNxidGQq.js.map +1 -0
  1279. package/lib/html-MGnI2uzP.js +33 -0
  1280. package/lib/html-MGnI2uzP.js.map +1 -0
  1281. package/lib/index-CeVTNcfF.js +3676 -0
  1282. package/lib/index-CeVTNcfF.js.map +1 -0
  1283. package/lib/index-CrcNWbel.js +316 -0
  1284. package/lib/index-CrcNWbel.js.map +1 -0
  1285. package/lib/index-Css56y3F.js +133 -0
  1286. package/lib/index-Css56y3F.js.map +1 -0
  1287. package/lib/index-DI5SPFK9.js +36 -0
  1288. package/lib/index-DI5SPFK9.js.map +1 -0
  1289. package/lib/index-DSOi7zVM.js +1059 -0
  1290. package/lib/index-DSOi7zVM.js.map +1 -0
  1291. package/lib/index-eKVhlB94.js +2210 -0
  1292. package/lib/index-eKVhlB94.js.map +1 -0
  1293. package/lib/index-nGbmHh_A.js +4827 -0
  1294. package/lib/index-nGbmHh_A.js.map +1 -0
  1295. package/lib/index.esm-BYObtETB.js +1294 -0
  1296. package/lib/index.esm-BYObtETB.js.map +1 -0
  1297. package/lib/index.esm-DtzT_KoE.js +683 -0
  1298. package/lib/index.esm-DtzT_KoE.js.map +1 -0
  1299. package/lib/index.esm-xmjej92R.js +32 -0
  1300. package/lib/index.esm-xmjej92R.js.map +1 -0
  1301. package/lib/invariant-CGOLuIIz.js +44 -0
  1302. package/lib/invariant-CGOLuIIz.js.map +1 -0
  1303. package/lib/java-CVLzHfb1.js +53 -0
  1304. package/lib/java-CVLzHfb1.js.map +1 -0
  1305. package/lib/javascript-CcmIpL4G.js +10 -0
  1306. package/lib/javascript-CcmIpL4G.js.map +1 -0
  1307. package/lib/json-4AyP4uiY.js +25 -0
  1308. package/lib/json-4AyP4uiY.js.map +1 -0
  1309. package/lib/jsx-runtime-BzflLqGi.js +283 -0
  1310. package/lib/jsx-runtime-BzflLqGi.js.map +1 -0
  1311. package/lib/kotlin-v2plddBQ.js +37 -0
  1312. package/lib/kotlin-v2plddBQ.js.map +1 -0
  1313. package/lib/markdown-DYGWCmGQ.js +25 -0
  1314. package/lib/markdown-DYGWCmGQ.js.map +1 -0
  1315. package/lib/mdx-CHwYvXd4.js +32 -0
  1316. package/lib/mdx-CHwYvXd4.js.map +1 -0
  1317. package/lib/mutation-BoVlx8yA.js +196 -0
  1318. package/lib/mutation-BoVlx8yA.js.map +1 -0
  1319. package/lib/objectivec-HZY8shkd.js +32 -0
  1320. package/lib/objectivec-HZY8shkd.js.map +1 -0
  1321. package/lib/ocaml-DqsdDdwb.js +52 -0
  1322. package/lib/ocaml-DqsdDdwb.js.map +1 -0
  1323. package/lib/php-rQXzo7K_.js +25 -0
  1324. package/lib/php-rQXzo7K_.js.map +1 -0
  1325. package/lib/powershell-CQje9pm1.js +39 -0
  1326. package/lib/powershell-CQje9pm1.js.map +1 -0
  1327. package/lib/processors/removeExtensions.js +11 -0
  1328. package/lib/processors/removeExtensions.js.map +1 -0
  1329. package/lib/processors/removeParameters.js +47 -0
  1330. package/lib/processors/removeParameters.js.map +1 -0
  1331. package/lib/processors/removePaths.js +28 -0
  1332. package/lib/processors/removePaths.js.map +1 -0
  1333. package/lib/processors/traverse.js +17 -0
  1334. package/lib/processors/traverse.js.map +1 -0
  1335. package/lib/python-QIQAE5Ei.js +32 -0
  1336. package/lib/python-QIQAE5Ei.js.map +1 -0
  1337. package/lib/react-DHpVpxRv.js +24 -0
  1338. package/lib/react-DHpVpxRv.js.map +1 -0
  1339. package/lib/ruby-B2dU8Ny5.js +25 -0
  1340. package/lib/ruby-B2dU8Ny5.js.map +1 -0
  1341. package/lib/rust-DYnLHAi2.js +25 -0
  1342. package/lib/rust-DYnLHAi2.js.map +1 -0
  1343. package/lib/scala-CeKInBR8.js +25 -0
  1344. package/lib/scala-CeKInBR8.js.map +1 -0
  1345. package/lib/shell-HUv9oVtp.js +25 -0
  1346. package/lib/shell-HUv9oVtp.js.map +1 -0
  1347. package/lib/swift-B4z6ig1Z.js +25 -0
  1348. package/lib/swift-B4z6ig1Z.js.map +1 -0
  1349. package/lib/toml-Co9mpdct.js +32 -0
  1350. package/lib/toml-Co9mpdct.js.map +1 -0
  1351. package/lib/typescript-C26xdBDC.js +32 -0
  1352. package/lib/typescript-C26xdBDC.js.map +1 -0
  1353. package/lib/ui/Accordion.js +47 -0
  1354. package/lib/ui/Accordion.js.map +1 -0
  1355. package/lib/ui/ActionButton.js +25 -0
  1356. package/lib/ui/ActionButton.js.map +1 -0
  1357. package/lib/ui/Alert.js +67 -0
  1358. package/lib/ui/Alert.js.map +1 -0
  1359. package/lib/ui/AlertDialog.js +114 -0
  1360. package/lib/ui/AlertDialog.js.map +1 -0
  1361. package/lib/ui/AspectRatio.js +6 -0
  1362. package/lib/ui/AspectRatio.js.map +1 -0
  1363. package/lib/ui/Badge.js +42 -0
  1364. package/lib/ui/Badge.js.map +1 -0
  1365. package/lib/ui/Breadcrumb.js +95 -0
  1366. package/lib/ui/Breadcrumb.js.map +1 -0
  1367. package/lib/ui/Button.js +54 -0
  1368. package/lib/ui/Button.js.map +1 -0
  1369. package/lib/ui/ButtonGroup.js +77 -0
  1370. package/lib/ui/ButtonGroup.js.map +1 -0
  1371. package/lib/ui/Callout.js +97 -0
  1372. package/lib/ui/Callout.js.map +1 -0
  1373. package/lib/ui/Card.js +62 -0
  1374. package/lib/ui/Card.js.map +1 -0
  1375. package/lib/ui/Carousel.js +1416 -0
  1376. package/lib/ui/Carousel.js.map +1 -0
  1377. package/lib/ui/Checkbox.js +32 -0
  1378. package/lib/ui/Checkbox.js.map +1 -0
  1379. package/lib/ui/CodeBlock.js +220 -0
  1380. package/lib/ui/CodeBlock.js.map +1 -0
  1381. package/lib/ui/Collapsible.js +35 -0
  1382. package/lib/ui/Collapsible.js.map +1 -0
  1383. package/lib/ui/Command.js +150 -0
  1384. package/lib/ui/Command.js.map +1 -0
  1385. package/lib/ui/Dialog.js +146 -0
  1386. package/lib/ui/Dialog.js.map +1 -0
  1387. package/lib/ui/Drawer.js +17 -0
  1388. package/lib/ui/Drawer.js.map +1 -0
  1389. package/lib/ui/DropdownMenu.js +232 -0
  1390. package/lib/ui/DropdownMenu.js.map +1 -0
  1391. package/lib/ui/EmbeddedCodeBlock.js +84 -0
  1392. package/lib/ui/EmbeddedCodeBlock.js.map +1 -0
  1393. package/lib/ui/Form.js +95 -0
  1394. package/lib/ui/Form.js.map +1 -0
  1395. package/lib/ui/Frame.js +81 -0
  1396. package/lib/ui/Frame.js.map +1 -0
  1397. package/lib/ui/HoverCard.js +24 -0
  1398. package/lib/ui/HoverCard.js.map +1 -0
  1399. package/lib/ui/Input.js +22 -0
  1400. package/lib/ui/Input.js.map +1 -0
  1401. package/lib/ui/Item.js +188 -0
  1402. package/lib/ui/Item.js.map +1 -0
  1403. package/lib/ui/Kbd.js +32 -0
  1404. package/lib/ui/Kbd.js.map +1 -0
  1405. package/lib/ui/Label.js +20 -0
  1406. package/lib/ui/Label.js.map +1 -0
  1407. package/lib/ui/NativeSelect.js +57 -0
  1408. package/lib/ui/NativeSelect.js.map +1 -0
  1409. package/lib/ui/Pagination.js +105 -0
  1410. package/lib/ui/Pagination.js.map +1 -0
  1411. package/lib/ui/Popover.js +24 -0
  1412. package/lib/ui/Popover.js.map +1 -0
  1413. package/lib/ui/Progress.js +27 -0
  1414. package/lib/ui/Progress.js.map +1 -0
  1415. package/lib/ui/RadioGroup.js +32 -0
  1416. package/lib/ui/RadioGroup.js.map +1 -0
  1417. package/lib/ui/ReactComponentDoc.js +28 -0
  1418. package/lib/ui/ReactComponentDoc.js.map +1 -0
  1419. package/lib/ui/ScrollArea.js +39 -0
  1420. package/lib/ui/ScrollArea.js.map +1 -0
  1421. package/lib/ui/Secret.js +106 -0
  1422. package/lib/ui/Secret.js.map +1 -0
  1423. package/lib/ui/Select.js +172 -0
  1424. package/lib/ui/Select.js.map +1 -0
  1425. package/lib/ui/Separator.js +27 -0
  1426. package/lib/ui/Separator.js.map +1 -0
  1427. package/lib/ui/Skeleton.js +18 -0
  1428. package/lib/ui/Skeleton.js.map +1 -0
  1429. package/lib/ui/Slider.js +24 -0
  1430. package/lib/ui/Slider.js.map +1 -0
  1431. package/lib/ui/Stepper.js +6 -0
  1432. package/lib/ui/Stepper.js.map +1 -0
  1433. package/lib/ui/Switch.js +28 -0
  1434. package/lib/ui/Switch.js.map +1 -0
  1435. package/lib/ui/SyntaxHighlight.js +11 -0
  1436. package/lib/ui/SyntaxHighlight.js.map +1 -0
  1437. package/lib/ui/Tabs.js +47 -0
  1438. package/lib/ui/Tabs.js.map +1 -0
  1439. package/lib/ui/Textarea.js +21 -0
  1440. package/lib/ui/Textarea.js.map +1 -0
  1441. package/lib/ui/Toggle.js +38 -0
  1442. package/lib/ui/Toggle.js.map +1 -0
  1443. package/lib/ui/ToggleGroup.js +42 -0
  1444. package/lib/ui/ToggleGroup.js.map +1 -0
  1445. package/lib/ui/Tooltip.js +58 -0
  1446. package/lib/ui/Tooltip.js.map +1 -0
  1447. package/lib/ui/Value.js +39 -0
  1448. package/lib/ui/Value.js.map +1 -0
  1449. package/lib/ui/util.js +6 -0
  1450. package/lib/ui/util.js.map +1 -0
  1451. package/lib/useCopyToClipboard-B_085nfO.js +14 -0
  1452. package/lib/useCopyToClipboard-B_085nfO.js.map +1 -0
  1453. package/lib/useLatest-hmRS46UF.js +11 -0
  1454. package/lib/useLatest-hmRS46UF.js.map +1 -0
  1455. package/lib/useMutation-C6RqWmTS.js +97 -0
  1456. package/lib/useMutation-C6RqWmTS.js.map +1 -0
  1457. package/lib/xml-BQOOC04j.js +25 -0
  1458. package/lib/xml-BQOOC04j.js.map +1 -0
  1459. package/lib/yaml-BGsJItKv.js +32 -0
  1460. package/lib/yaml-BGsJItKv.js.map +1 -0
  1461. package/lib/zig-CUV2sTct.js +35 -0
  1462. package/lib/zig-CUV2sTct.js.map +1 -0
  1463. package/lib/zudoku.__internal.js +3084 -0
  1464. package/lib/zudoku.__internal.js.map +1 -0
  1465. package/lib/zudoku.auth-auth0.js +32 -29
  1466. package/lib/zudoku.auth-auth0.js.map +1 -1
  1467. package/lib/zudoku.auth-azureb2c.js +136 -0
  1468. package/lib/zudoku.auth-azureb2c.js.map +1 -0
  1469. package/lib/zudoku.auth-clerk.js +112 -61
  1470. package/lib/zudoku.auth-clerk.js.map +1 -1
  1471. package/lib/zudoku.auth-firebase.js +9 -0
  1472. package/lib/zudoku.auth-firebase.js.map +1 -0
  1473. package/lib/zudoku.auth-openid.js +644 -664
  1474. package/lib/zudoku.auth-openid.js.map +1 -1
  1475. package/lib/zudoku.auth-supabase.js +154 -0
  1476. package/lib/zudoku.auth-supabase.js.map +1 -0
  1477. package/lib/zudoku.components.js +27 -3364
  1478. package/lib/zudoku.components.js.map +1 -1
  1479. package/lib/zudoku.hooks.js +14 -0
  1480. package/lib/zudoku.hooks.js.map +1 -0
  1481. package/lib/zudoku.icons.js +10 -0
  1482. package/lib/zudoku.icons.js.map +1 -1
  1483. package/lib/zudoku.mermaid.js +10 -0
  1484. package/lib/zudoku.mermaid.js.map +1 -0
  1485. package/lib/zudoku.plugin-api-catalog.js +124 -0
  1486. package/lib/zudoku.plugin-api-catalog.js.map +1 -0
  1487. package/lib/zudoku.plugin-api-keys.js +653 -200
  1488. package/lib/zudoku.plugin-api-keys.js.map +1 -1
  1489. package/lib/zudoku.plugin-custom-pages.js +19 -0
  1490. package/lib/zudoku.plugin-custom-pages.js.map +1 -0
  1491. package/lib/zudoku.plugin-markdown.js +22 -28
  1492. package/lib/zudoku.plugin-markdown.js.map +1 -1
  1493. package/lib/zudoku.plugin-openapi.js +8 -12
  1494. package/lib/zudoku.plugin-openapi.js.map +1 -1
  1495. package/lib/zudoku.plugin-redirect.js +2 -2
  1496. package/lib/zudoku.plugin-redirect.js.map +1 -1
  1497. package/lib/zudoku.plugin-search-inkeep.js +61 -40
  1498. package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
  1499. package/lib/zudoku.plugin-search-pagefind.js +282 -0
  1500. package/lib/zudoku.plugin-search-pagefind.js.map +1 -0
  1501. package/lib/zudoku.plugins.js +15 -0
  1502. package/lib/zudoku.plugins.js.map +1 -0
  1503. package/lib/zudoku.router.js +2507 -0
  1504. package/lib/zudoku.router.js.map +1 -0
  1505. package/package.json +233 -110
  1506. package/src/app/ZuploBuildConfig.ts +33 -0
  1507. package/src/app/defaultTheme.css +73 -0
  1508. package/src/app/demo-cdn.html +31 -31
  1509. package/src/app/demo.html +1 -1
  1510. package/src/app/demo.tsx +26 -12
  1511. package/src/app/entry.client.tsx +75 -8
  1512. package/src/app/entry.server.tsx +97 -68
  1513. package/src/app/env.ts +43 -0
  1514. package/src/app/font.geist.css +73 -0
  1515. package/src/app/main.css +232 -134
  1516. package/src/app/main.tsx +100 -80
  1517. package/src/app/sentry.ts +24 -0
  1518. package/src/app/standalone.tsx +15 -13
  1519. package/src/lib/MissingIcon.tsx +22 -0
  1520. package/src/lib/assets/language-icons/c.tsx +31 -0
  1521. package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
  1522. package/src/lib/assets/language-icons/cpp.tsx +35 -0
  1523. package/src/lib/assets/language-icons/csharp.tsx +35 -0
  1524. package/src/lib/assets/language-icons/css.tsx +36 -0
  1525. package/src/lib/assets/language-icons/dart.tsx +39 -0
  1526. package/src/lib/assets/language-icons/elixir.tsx +19 -0
  1527. package/src/lib/assets/language-icons/go.tsx +19 -0
  1528. package/src/lib/assets/language-icons/graphql.tsx +19 -0
  1529. package/src/lib/assets/language-icons/html.tsx +24 -0
  1530. package/src/lib/assets/language-icons/java.tsx +35 -0
  1531. package/src/lib/assets/language-icons/javascript.tsx +11 -0
  1532. package/src/lib/assets/language-icons/json.tsx +19 -0
  1533. package/src/lib/assets/language-icons/kotlin.tsx +30 -0
  1534. package/src/lib/assets/language-icons/markdown.tsx +19 -0
  1535. package/src/lib/assets/language-icons/mdx.tsx +23 -0
  1536. package/src/lib/assets/language-icons/objectivec.tsx +23 -0
  1537. package/src/lib/assets/language-icons/ocaml.tsx +34 -0
  1538. package/src/lib/assets/language-icons/php.tsx +19 -0
  1539. package/src/lib/assets/language-icons/powershell.tsx +27 -0
  1540. package/src/lib/assets/language-icons/python.tsx +23 -0
  1541. package/src/lib/assets/language-icons/react.tsx +21 -0
  1542. package/src/lib/assets/language-icons/ruby.tsx +19 -0
  1543. package/src/lib/assets/language-icons/rust.tsx +19 -0
  1544. package/src/lib/assets/language-icons/scala.tsx +19 -0
  1545. package/src/lib/assets/language-icons/shell.tsx +19 -0
  1546. package/src/lib/assets/language-icons/swift.tsx +19 -0
  1547. package/src/lib/assets/language-icons/toml.tsx +23 -0
  1548. package/src/lib/assets/language-icons/typescript.tsx +23 -0
  1549. package/src/lib/assets/language-icons/xml.tsx +19 -0
  1550. package/src/lib/assets/language-icons/yaml.tsx +23 -0
  1551. package/src/lib/assets/language-icons/zig.tsx +32 -0
  1552. package/src/lib/auth/issuer.test.ts +121 -0
  1553. package/src/lib/auth/issuer.ts +44 -0
  1554. package/src/lib/authentication/AuthenticationPlugin.tsx +6 -3
  1555. package/src/lib/authentication/authentication.ts +29 -12
  1556. package/src/lib/authentication/components/CallbackHandler.tsx +36 -50
  1557. package/src/lib/authentication/components/OAuthErrorPage.tsx +171 -0
  1558. package/src/lib/authentication/components/SignIn.tsx +35 -7
  1559. package/src/lib/authentication/components/SignOut.tsx +8 -6
  1560. package/src/lib/authentication/components/SignUp.tsx +36 -5
  1561. package/src/lib/authentication/errors.ts +27 -13
  1562. package/src/lib/authentication/hook.ts +29 -7
  1563. package/src/lib/authentication/providers/auth0.tsx +39 -19
  1564. package/src/lib/authentication/providers/azureb2c.tsx +208 -0
  1565. package/src/lib/authentication/providers/clerk.tsx +138 -54
  1566. package/src/lib/authentication/providers/firebase.tsx +301 -0
  1567. package/src/lib/authentication/providers/openid.tsx +175 -89
  1568. package/src/lib/authentication/providers/supabase/SupabaseAuthUI.tsx +75 -0
  1569. package/src/lib/authentication/providers/supabase.tsx +162 -0
  1570. package/src/lib/authentication/state.ts +65 -24
  1571. package/src/lib/authentication/ui/ZudokuAuthUi.tsx +375 -0
  1572. package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
  1573. package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
  1574. package/src/lib/authentication/ui/icons/Github.tsx +16 -0
  1575. package/src/lib/authentication/ui/icons/Google.tsx +16 -0
  1576. package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
  1577. package/src/lib/authentication/ui/icons/X.tsx +10 -0
  1578. package/src/lib/authentication/use-broadcast/LICENSE.md +18 -0
  1579. package/src/lib/authentication/use-broadcast/shared.ts +372 -0
  1580. package/src/lib/authentication/use-broadcast/useBroadcast.ts +146 -0
  1581. package/src/lib/components/AnchorLink.tsx +13 -8
  1582. package/src/lib/components/Autocomplete.tsx +123 -0
  1583. package/src/lib/components/Banner.tsx +3 -3
  1584. package/src/lib/components/Bootstrap.tsx +44 -16
  1585. package/src/lib/components/BuildCheck.tsx +88 -0
  1586. package/src/lib/components/CategoryHeading.tsx +4 -1
  1587. package/src/lib/components/ClientOnly.tsx +6 -3
  1588. package/src/lib/components/DeveloperHint.tsx +6 -1
  1589. package/src/lib/components/ErrorPage.tsx +3 -3
  1590. package/src/lib/components/Footer.tsx +136 -0
  1591. package/src/lib/components/Framed.tsx +51 -0
  1592. package/src/lib/components/Header.tsx +122 -66
  1593. package/src/lib/components/Heading.tsx +22 -19
  1594. package/src/lib/components/InlineCode.tsx +13 -16
  1595. package/src/lib/components/LanguageIcon.tsx +181 -0
  1596. package/src/lib/components/Layout.tsx +28 -69
  1597. package/src/lib/components/Main.tsx +51 -0
  1598. package/src/lib/components/Markdown.tsx +45 -30
  1599. package/src/lib/components/Mermaid.tsx +68 -0
  1600. package/src/lib/components/Meta.tsx +45 -0
  1601. package/src/lib/components/MobileTopNavigation.tsx +98 -28
  1602. package/src/lib/components/NotFoundPage.tsx +7 -6
  1603. package/src/lib/components/PageProgress.tsx +28 -0
  1604. package/src/lib/components/PagefindSearchMeta.tsx +14 -0
  1605. package/src/lib/components/Pagination.tsx +45 -0
  1606. package/src/lib/components/PathRenderer.tsx +61 -0
  1607. package/src/lib/components/Search.tsx +20 -9
  1608. package/src/lib/components/Slot.test.tsx +465 -0
  1609. package/src/lib/components/Slot.tsx +64 -0
  1610. package/src/lib/components/StatusPage.tsx +96 -0
  1611. package/src/lib/components/ThemeSwitch.tsx +46 -0
  1612. package/src/lib/components/TopNavigation.tsx +104 -27
  1613. package/src/lib/components/Typography.tsx +14 -0
  1614. package/src/lib/components/Zudoku.tsx +116 -0
  1615. package/src/lib/components/cache.ts +27 -0
  1616. package/src/lib/components/context/BypassProtectedRoutesContext.ts +3 -0
  1617. package/src/lib/components/context/ComponentsContext.tsx +2 -2
  1618. package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
  1619. package/src/lib/components/context/SlotProvider.tsx +149 -0
  1620. package/src/lib/components/context/ViewportAnchorContext.tsx +35 -37
  1621. package/src/lib/components/context/ZudokuContext.ts +87 -29
  1622. package/src/lib/components/context/ZudokuProvider.tsx +4 -3
  1623. package/src/lib/components/index.ts +34 -17
  1624. package/src/lib/components/navigation/Navigation.tsx +50 -0
  1625. package/src/lib/components/navigation/NavigationBadge.tsx +48 -0
  1626. package/src/lib/components/navigation/NavigationCategory.tsx +153 -0
  1627. package/src/lib/components/navigation/NavigationItem.tsx +148 -0
  1628. package/src/lib/components/navigation/NavigationWrapper.tsx +49 -0
  1629. package/src/lib/components/navigation/PoweredByZudoku.tsx +33 -0
  1630. package/src/lib/components/navigation/Toc.tsx +126 -0
  1631. package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
  1632. package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
  1633. package/src/lib/components/navigation/utils.ts +85 -50
  1634. package/src/lib/core/RouteGuard.tsx +116 -0
  1635. package/src/lib/core/ZudokuContext.ts +249 -0
  1636. package/src/lib/core/__internal.tsx +30 -0
  1637. package/src/lib/core/plugins.ts +56 -23
  1638. package/src/lib/core/router.ts +1 -0
  1639. package/src/lib/errors/ErrorAlert.tsx +29 -17
  1640. package/src/lib/errors/RouterError.tsx +8 -3
  1641. package/src/lib/errors/TopLevelError.tsx +2 -4
  1642. package/src/lib/hooks/index.ts +16 -0
  1643. package/src/lib/hooks/useEvent.test.tsx +151 -0
  1644. package/src/lib/hooks/useEvent.ts +41 -0
  1645. package/src/lib/hooks/useHotkey.ts +70 -0
  1646. package/src/lib/icons.ts +1 -0
  1647. package/src/lib/oas/graphql/circular.ts +58 -0
  1648. package/src/lib/oas/graphql/index.ts +334 -104
  1649. package/src/lib/oas/parser/dereference/index.ts +12 -5
  1650. package/src/lib/oas/parser/dereference/resolveRef.ts +4 -4
  1651. package/src/lib/oas/parser/index.ts +23 -32
  1652. package/src/lib/oas/parser/upgrade/index.ts +105 -39
  1653. package/src/lib/plugins/api-catalog/Catalog.tsx +80 -0
  1654. package/src/lib/plugins/api-catalog/index.tsx +115 -0
  1655. package/src/lib/plugins/api-keys/CreateApiKey.tsx +79 -49
  1656. package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
  1657. package/src/lib/plugins/api-keys/ProtectedRoute.tsx +12 -8
  1658. package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +441 -122
  1659. package/src/lib/plugins/api-keys/index.tsx +165 -69
  1660. package/src/lib/plugins/custom-pages/index.tsx +32 -0
  1661. package/src/lib/plugins/markdown/MdxPage.tsx +237 -61
  1662. package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
  1663. package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
  1664. package/src/lib/plugins/markdown/index.tsx +39 -14
  1665. package/src/lib/plugins/openapi/CollapsibleCode.tsx +88 -0
  1666. package/src/lib/plugins/openapi/ColorizedParam.tsx +51 -23
  1667. package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +115 -0
  1668. package/src/lib/plugins/openapi/Endpoint.tsx +33 -43
  1669. package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
  1670. package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
  1671. package/src/lib/plugins/openapi/OasProvider.tsx +65 -0
  1672. package/src/lib/plugins/openapi/OperationList.tsx +282 -74
  1673. package/src/lib/plugins/openapi/OperationListItem.tsx +147 -91
  1674. package/src/lib/plugins/openapi/ParamInfos.tsx +91 -0
  1675. package/src/lib/plugins/openapi/ParameterList.tsx +43 -27
  1676. package/src/lib/plugins/openapi/ParameterListItem.tsx +137 -39
  1677. package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +25 -5
  1678. package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +52 -28
  1679. package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +109 -64
  1680. package/src/lib/plugins/openapi/SchemaList.tsx +161 -0
  1681. package/src/lib/plugins/openapi/Sidecar.tsx +244 -181
  1682. package/src/lib/plugins/openapi/SidecarBox.tsx +14 -4
  1683. package/src/lib/plugins/openapi/SidecarExamples.tsx +174 -0
  1684. package/src/lib/plugins/openapi/SimpleSelect.tsx +1 -1
  1685. package/src/lib/plugins/openapi/StaggeredRender.tsx +1 -1
  1686. package/src/lib/plugins/openapi/client/GraphQLClient.tsx +65 -0
  1687. package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -0
  1688. package/src/lib/plugins/openapi/client/createServer.ts +9 -4
  1689. package/src/lib/plugins/openapi/client/useCreateQuery.ts +46 -0
  1690. package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
  1691. package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
  1692. package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
  1693. package/src/lib/plugins/openapi/components/ResponseContent.tsx +114 -0
  1694. package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
  1695. package/src/lib/plugins/openapi/context.tsx +2 -2
  1696. package/src/lib/plugins/openapi/graphql/fragment-masking.ts +12 -19
  1697. package/src/lib/plugins/openapi/graphql/gql.ts +38 -30
  1698. package/src/lib/plugins/openapi/graphql/graphql.ts +411 -683
  1699. package/src/lib/plugins/openapi/index.tsx +173 -160
  1700. package/src/lib/plugins/openapi/interfaces.ts +84 -5
  1701. package/src/lib/plugins/openapi/playground/BodyPanel.tsx +271 -0
  1702. package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -0
  1703. package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +60 -0
  1704. package/src/lib/plugins/openapi/playground/Headers.tsx +173 -58
  1705. package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +75 -0
  1706. package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +38 -0
  1707. package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +45 -0
  1708. package/src/lib/plugins/openapi/playground/PathParams.tsx +36 -70
  1709. package/src/lib/plugins/openapi/playground/Playground.tsx +459 -288
  1710. package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +24 -30
  1711. package/src/lib/plugins/openapi/playground/QueryParams.tsx +102 -112
  1712. package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +70 -0
  1713. package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -0
  1714. package/src/lib/plugins/openapi/playground/fileUtils.ts +32 -0
  1715. package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
  1716. package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
  1717. package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -0
  1718. package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +25 -0
  1719. package/src/lib/plugins/openapi/playground/request-panel/fieldManager/useKeyValueFieldManager.test.tsx +872 -0
  1720. package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +349 -0
  1721. package/src/lib/plugins/openapi/playground/result-panel/Highlight.tsx +26 -0
  1722. package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -0
  1723. package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +339 -0
  1724. package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +102 -0
  1725. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.test.ts +64 -0
  1726. package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -0
  1727. package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -0
  1728. package/src/lib/plugins/openapi/processors/removeExtensions.test.ts +223 -0
  1729. package/src/lib/plugins/openapi/processors/removeExtensions.ts +29 -0
  1730. package/src/lib/plugins/openapi/processors/removeParameters.test.ts +183 -0
  1731. package/src/lib/plugins/openapi/processors/removeParameters.ts +103 -0
  1732. package/src/lib/plugins/openapi/processors/removePaths.test.ts +167 -0
  1733. package/src/lib/plugins/openapi/processors/removePaths.ts +57 -0
  1734. package/src/lib/plugins/openapi/processors/traverse.ts +1 -0
  1735. package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -0
  1736. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +175 -0
  1737. package/src/lib/plugins/openapi/schema/SchemaView.tsx +154 -142
  1738. package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -0
  1739. package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -0
  1740. package/src/lib/plugins/openapi/schema/utils.ts +34 -14
  1741. package/src/lib/plugins/openapi/state.ts +36 -0
  1742. package/src/lib/plugins/openapi/util/createHttpSnippet.ts +107 -0
  1743. package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -0
  1744. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +95 -45
  1745. package/src/lib/plugins/openapi/util/getRoutes.tsx +230 -0
  1746. package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -0
  1747. package/src/lib/plugins/openapi/util/methodToColor.ts +27 -0
  1748. package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
  1749. package/src/lib/plugins/redirect/index.tsx +6 -10
  1750. package/src/lib/plugins/search-inkeep/index.tsx +83 -32
  1751. package/src/lib/plugins/search-inkeep/inkeep.ts +15 -23
  1752. package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +163 -0
  1753. package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +202 -0
  1754. package/src/lib/plugins/search-pagefind/ResultList.tsx +118 -0
  1755. package/src/lib/plugins/search-pagefind/get-results.tsx +74 -0
  1756. package/src/lib/plugins/search-pagefind/index.tsx +21 -0
  1757. package/src/lib/plugins/search-pagefind/types.ts +118 -0
  1758. package/src/lib/shiki.ts +170 -0
  1759. package/src/lib/ui/Accordion.tsx +56 -0
  1760. package/src/lib/ui/ActionButton.tsx +30 -0
  1761. package/src/lib/ui/Alert.tsx +65 -0
  1762. package/src/lib/ui/AlertDialog.tsx +139 -0
  1763. package/src/lib/ui/AspectRatio.tsx +5 -0
  1764. package/src/lib/ui/Badge.tsx +46 -0
  1765. package/src/lib/ui/Breadcrumb.tsx +116 -0
  1766. package/src/lib/ui/Button.tsx +16 -10
  1767. package/src/lib/ui/ButtonGroup.tsx +82 -0
  1768. package/src/lib/ui/Callout.tsx +47 -21
  1769. package/src/lib/ui/Card.tsx +1 -1
  1770. package/src/lib/ui/Carousel.tsx +260 -0
  1771. package/src/lib/ui/Checkbox.tsx +28 -0
  1772. package/src/lib/ui/CodeBlock.tsx +79 -0
  1773. package/src/lib/ui/Collapsible.tsx +31 -0
  1774. package/src/lib/ui/Command.tsx +191 -0
  1775. package/src/lib/ui/Dialog.tsx +138 -0
  1776. package/src/lib/ui/Drawer.tsx +38 -36
  1777. package/src/lib/ui/DropdownMenu.tsx +226 -170
  1778. package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -0
  1779. package/src/lib/ui/Form.tsx +177 -0
  1780. package/src/lib/ui/Frame.tsx +81 -0
  1781. package/src/lib/ui/HoverCard.tsx +27 -0
  1782. package/src/lib/ui/Input.tsx +2 -3
  1783. package/src/lib/ui/Item.tsx +192 -0
  1784. package/src/lib/ui/Kbd.tsx +28 -0
  1785. package/src/lib/ui/Label.tsx +24 -0
  1786. package/src/lib/ui/NativeSelect.tsx +47 -0
  1787. package/src/lib/ui/Pagination.tsx +116 -0
  1788. package/src/lib/ui/Popover.tsx +29 -0
  1789. package/src/lib/ui/Progress.tsx +26 -0
  1790. package/src/lib/ui/RadioGroup.tsx +42 -0
  1791. package/src/lib/ui/ReactComponentDoc.tsx +68 -0
  1792. package/src/lib/ui/ScrollArea.tsx +46 -0
  1793. package/src/lib/ui/Secret.tsx +123 -0
  1794. package/src/lib/ui/Select.tsx +184 -0
  1795. package/src/lib/ui/Separator.tsx +25 -0
  1796. package/src/lib/ui/Skeleton.tsx +15 -0
  1797. package/src/lib/ui/Slider.tsx +26 -0
  1798. package/src/lib/ui/Stepper.tsx +8 -0
  1799. package/src/lib/ui/Switch.tsx +27 -0
  1800. package/src/lib/ui/SyntaxHighlight.tsx +40 -0
  1801. package/src/lib/ui/Tabs.tsx +2 -2
  1802. package/src/lib/ui/Textarea.tsx +23 -0
  1803. package/src/lib/ui/Toggle.tsx +43 -0
  1804. package/src/lib/ui/ToggleGroup.tsx +59 -0
  1805. package/src/lib/ui/Tooltip.tsx +65 -0
  1806. package/src/lib/ui/Value.tsx +42 -0
  1807. package/src/lib/ui/util.tsx +3 -0
  1808. package/src/lib/util/MdxComponents.tsx +60 -26
  1809. package/src/lib/util/cn.ts +1 -1
  1810. package/src/lib/util/createVariantComponent.tsx +33 -7
  1811. package/src/lib/util/detectOS.ts +9 -0
  1812. package/src/lib/util/ensureArray.ts +3 -0
  1813. package/src/lib/util/flattenAllOf.test.ts +689 -0
  1814. package/src/lib/util/flattenAllOf.ts +122 -0
  1815. package/src/lib/util/groupBy.ts +1 -0
  1816. package/src/lib/util/humanFileSize.test.ts +24 -0
  1817. package/src/lib/util/humanFileSize.ts +15 -0
  1818. package/src/lib/util/invariant.ts +18 -3
  1819. package/src/lib/util/joinPath.tsx +3 -0
  1820. package/src/lib/util/joinUrl.test.ts +62 -0
  1821. package/src/lib/util/joinUrl.ts +57 -0
  1822. package/src/lib/util/os.ts +18 -0
  1823. package/src/lib/util/pastellize.ts +4 -4
  1824. package/src/lib/util/readFrontmatter.ts +13 -0
  1825. package/src/lib/util/scrollIntoViewIfNeeded.ts +18 -0
  1826. package/src/lib/util/syncZustandState.ts +22 -0
  1827. package/src/lib/util/traverse.ts +70 -0
  1828. package/src/lib/util/types.ts +7 -0
  1829. package/src/lib/util/url.test.ts +51 -0
  1830. package/src/lib/util/url.ts +18 -0
  1831. package/src/lib/util/useCopyToClipboard.ts +17 -0
  1832. package/src/lib/util/useExposedProps.tsx +27 -0
  1833. package/src/lib/util/useIsomorphicLayoutEffect.ts +6 -0
  1834. package/src/lib/util/useLatest.ts +18 -0
  1835. package/src/lib/util/useOnScreen.ts +34 -0
  1836. package/src/lib/util/useScrollToAnchor.ts +51 -40
  1837. package/src/lib/util/useScrollToTop.ts +9 -4
  1838. package/src/shiki/langs/abap.js +1 -0
  1839. package/src/shiki/langs/actionscript-3.js +1 -0
  1840. package/src/shiki/langs/ada.js +1 -0
  1841. package/src/shiki/langs/angular-expression.js +1 -0
  1842. package/src/shiki/langs/angular-html.js +1 -0
  1843. package/src/shiki/langs/angular-inline-style.js +1 -0
  1844. package/src/shiki/langs/angular-inline-template.js +1 -0
  1845. package/src/shiki/langs/angular-let-declaration.js +1 -0
  1846. package/src/shiki/langs/angular-template-blocks.js +1 -0
  1847. package/src/shiki/langs/angular-template.js +1 -0
  1848. package/src/shiki/langs/angular-ts.js +1 -0
  1849. package/src/shiki/langs/apache.js +1 -0
  1850. package/src/shiki/langs/apex.js +1 -0
  1851. package/src/shiki/langs/apl.js +1 -0
  1852. package/src/shiki/langs/applescript.js +1 -0
  1853. package/src/shiki/langs/ara.js +1 -0
  1854. package/src/shiki/langs/asciidoc.js +1 -0
  1855. package/src/shiki/langs/asm.js +1 -0
  1856. package/src/shiki/langs/astro.js +1 -0
  1857. package/src/shiki/langs/awk.js +1 -0
  1858. package/src/shiki/langs/ballerina.js +1 -0
  1859. package/src/shiki/langs/bat.js +1 -0
  1860. package/src/shiki/langs/beancount.js +1 -0
  1861. package/src/shiki/langs/berry.js +1 -0
  1862. package/src/shiki/langs/bibtex.js +1 -0
  1863. package/src/shiki/langs/bicep.js +1 -0
  1864. package/src/shiki/langs/blade.js +1 -0
  1865. package/src/shiki/langs/bsl.js +1 -0
  1866. package/src/shiki/langs/c.js +1 -0
  1867. package/src/shiki/langs/cadence.js +1 -0
  1868. package/src/shiki/langs/cairo.js +1 -0
  1869. package/src/shiki/langs/clarity.js +1 -0
  1870. package/src/shiki/langs/clojure.js +1 -0
  1871. package/src/shiki/langs/cmake.js +1 -0
  1872. package/src/shiki/langs/cobol.js +1 -0
  1873. package/src/shiki/langs/codeowners.js +1 -0
  1874. package/src/shiki/langs/codeql.js +1 -0
  1875. package/src/shiki/langs/coffee.js +1 -0
  1876. package/src/shiki/langs/common-lisp.js +1 -0
  1877. package/src/shiki/langs/coq.js +1 -0
  1878. package/src/shiki/langs/cpp-macro.js +1 -0
  1879. package/src/shiki/langs/cpp.js +1 -0
  1880. package/src/shiki/langs/crystal.js +1 -0
  1881. package/src/shiki/langs/csharp.js +1 -0
  1882. package/src/shiki/langs/css.js +1 -0
  1883. package/src/shiki/langs/csv.js +1 -0
  1884. package/src/shiki/langs/cue.js +1 -0
  1885. package/src/shiki/langs/cypher.js +1 -0
  1886. package/src/shiki/langs/d.js +1 -0
  1887. package/src/shiki/langs/dart.js +1 -0
  1888. package/src/shiki/langs/dax.js +1 -0
  1889. package/src/shiki/langs/desktop.js +1 -0
  1890. package/src/shiki/langs/diff.js +1 -0
  1891. package/src/shiki/langs/docker.js +1 -0
  1892. package/src/shiki/langs/dotenv.js +1 -0
  1893. package/src/shiki/langs/dream-maker.js +1 -0
  1894. package/src/shiki/langs/edge.js +1 -0
  1895. package/src/shiki/langs/elixir.js +1 -0
  1896. package/src/shiki/langs/elm.js +1 -0
  1897. package/src/shiki/langs/emacs-lisp.js +1 -0
  1898. package/src/shiki/langs/erb.js +1 -0
  1899. package/src/shiki/langs/erlang.js +1 -0
  1900. package/src/shiki/langs/es-tag-css.js +1 -0
  1901. package/src/shiki/langs/es-tag-glsl.js +1 -0
  1902. package/src/shiki/langs/es-tag-html.js +1 -0
  1903. package/src/shiki/langs/es-tag-sql.js +1 -0
  1904. package/src/shiki/langs/es-tag-xml.js +1 -0
  1905. package/src/shiki/langs/fennel.js +1 -0
  1906. package/src/shiki/langs/fish.js +1 -0
  1907. package/src/shiki/langs/fluent.js +1 -0
  1908. package/src/shiki/langs/fortran-fixed-form.js +1 -0
  1909. package/src/shiki/langs/fortran-free-form.js +1 -0
  1910. package/src/shiki/langs/fsharp.js +1 -0
  1911. package/src/shiki/langs/gdresource.js +1 -0
  1912. package/src/shiki/langs/gdscript.js +1 -0
  1913. package/src/shiki/langs/gdshader.js +1 -0
  1914. package/src/shiki/langs/genie.js +1 -0
  1915. package/src/shiki/langs/gherkin.js +1 -0
  1916. package/src/shiki/langs/git-commit.js +1 -0
  1917. package/src/shiki/langs/git-rebase.js +1 -0
  1918. package/src/shiki/langs/gleam.js +1 -0
  1919. package/src/shiki/langs/glimmer-js.js +1 -0
  1920. package/src/shiki/langs/glimmer-ts.js +1 -0
  1921. package/src/shiki/langs/glsl.js +1 -0
  1922. package/src/shiki/langs/gnuplot.js +1 -0
  1923. package/src/shiki/langs/go.js +1 -0
  1924. package/src/shiki/langs/graphql.js +1 -0
  1925. package/src/shiki/langs/groovy.js +1 -0
  1926. package/src/shiki/langs/hack.js +1 -0
  1927. package/src/shiki/langs/haml.js +1 -0
  1928. package/src/shiki/langs/handlebars.js +1 -0
  1929. package/src/shiki/langs/haskell.js +1 -0
  1930. package/src/shiki/langs/haxe.js +1 -0
  1931. package/src/shiki/langs/hcl.js +1 -0
  1932. package/src/shiki/langs/hjson.js +1 -0
  1933. package/src/shiki/langs/hlsl.js +1 -0
  1934. package/src/shiki/langs/html-derivative.js +1 -0
  1935. package/src/shiki/langs/html.js +1 -0
  1936. package/src/shiki/langs/http.js +1 -0
  1937. package/src/shiki/langs/hurl.js +1 -0
  1938. package/src/shiki/langs/hxml.js +1 -0
  1939. package/src/shiki/langs/hy.js +1 -0
  1940. package/src/shiki/langs/imba.js +1 -0
  1941. package/src/shiki/langs/ini.js +1 -0
  1942. package/src/shiki/langs/java.js +1 -0
  1943. package/src/shiki/langs/javascript.js +1 -0
  1944. package/src/shiki/langs/jinja-html.js +1 -0
  1945. package/src/shiki/langs/jinja.js +1 -0
  1946. package/src/shiki/langs/jison.js +1 -0
  1947. package/src/shiki/langs/json.js +1 -0
  1948. package/src/shiki/langs/json5.js +1 -0
  1949. package/src/shiki/langs/jsonc.js +1 -0
  1950. package/src/shiki/langs/jsonl.js +1 -0
  1951. package/src/shiki/langs/jsonnet.js +1 -0
  1952. package/src/shiki/langs/jssm.js +1 -0
  1953. package/src/shiki/langs/jsx.js +1 -0
  1954. package/src/shiki/langs/julia.js +1 -0
  1955. package/src/shiki/langs/kdl.js +1 -0
  1956. package/src/shiki/langs/kotlin.js +1 -0
  1957. package/src/shiki/langs/kusto.js +1 -0
  1958. package/src/shiki/langs/latex.js +1 -0
  1959. package/src/shiki/langs/lean.js +1 -0
  1960. package/src/shiki/langs/less.js +1 -0
  1961. package/src/shiki/langs/liquid.js +1 -0
  1962. package/src/shiki/langs/llvm.js +1 -0
  1963. package/src/shiki/langs/log.js +1 -0
  1964. package/src/shiki/langs/logo.js +1 -0
  1965. package/src/shiki/langs/lua.js +1 -0
  1966. package/src/shiki/langs/luau.js +1 -0
  1967. package/src/shiki/langs/make.js +1 -0
  1968. package/src/shiki/langs/markdown-nix.js +1 -0
  1969. package/src/shiki/langs/markdown-vue.js +1 -0
  1970. package/src/shiki/langs/markdown.js +1 -0
  1971. package/src/shiki/langs/marko.js +1 -0
  1972. package/src/shiki/langs/matlab.js +1 -0
  1973. package/src/shiki/langs/mdc.js +1 -0
  1974. package/src/shiki/langs/mdx.js +1 -0
  1975. package/src/shiki/langs/mermaid.js +1 -0
  1976. package/src/shiki/langs/mipsasm.js +1 -0
  1977. package/src/shiki/langs/mojo.js +1 -0
  1978. package/src/shiki/langs/move.js +1 -0
  1979. package/src/shiki/langs/narrat.js +1 -0
  1980. package/src/shiki/langs/nextflow.js +1 -0
  1981. package/src/shiki/langs/nginx.js +1 -0
  1982. package/src/shiki/langs/nim.js +1 -0
  1983. package/src/shiki/langs/nix.js +1 -0
  1984. package/src/shiki/langs/nushell.js +1 -0
  1985. package/src/shiki/langs/objective-c.js +1 -0
  1986. package/src/shiki/langs/objective-cpp.js +1 -0
  1987. package/src/shiki/langs/ocaml.js +1 -0
  1988. package/src/shiki/langs/openscad.js +1 -0
  1989. package/src/shiki/langs/pascal.js +1 -0
  1990. package/src/shiki/langs/perl.js +1 -0
  1991. package/src/shiki/langs/php.js +1 -0
  1992. package/src/shiki/langs/pkl.js +1 -0
  1993. package/src/shiki/langs/plsql.js +1 -0
  1994. package/src/shiki/langs/po.js +1 -0
  1995. package/src/shiki/langs/polar.js +1 -0
  1996. package/src/shiki/langs/postcss.js +1 -0
  1997. package/src/shiki/langs/powerquery.js +1 -0
  1998. package/src/shiki/langs/powershell.js +1 -0
  1999. package/src/shiki/langs/prisma.js +1 -0
  2000. package/src/shiki/langs/prolog.js +1 -0
  2001. package/src/shiki/langs/proto.js +1 -0
  2002. package/src/shiki/langs/pug.js +1 -0
  2003. package/src/shiki/langs/puppet.js +1 -0
  2004. package/src/shiki/langs/purescript.js +1 -0
  2005. package/src/shiki/langs/python.js +1 -0
  2006. package/src/shiki/langs/qml.js +1 -0
  2007. package/src/shiki/langs/qmldir.js +1 -0
  2008. package/src/shiki/langs/qss.js +1 -0
  2009. package/src/shiki/langs/r.js +1 -0
  2010. package/src/shiki/langs/racket.js +1 -0
  2011. package/src/shiki/langs/raku.js +1 -0
  2012. package/src/shiki/langs/razor.js +1 -0
  2013. package/src/shiki/langs/reg.js +1 -0
  2014. package/src/shiki/langs/regexp.js +1 -0
  2015. package/src/shiki/langs/rel.js +1 -0
  2016. package/src/shiki/langs/riscv.js +1 -0
  2017. package/src/shiki/langs/rosmsg.js +1 -0
  2018. package/src/shiki/langs/rst.js +1 -0
  2019. package/src/shiki/langs/ruby.js +1 -0
  2020. package/src/shiki/langs/rust.js +1 -0
  2021. package/src/shiki/langs/sas.js +1 -0
  2022. package/src/shiki/langs/sass.js +1 -0
  2023. package/src/shiki/langs/scala.js +1 -0
  2024. package/src/shiki/langs/scheme.js +1 -0
  2025. package/src/shiki/langs/scss.js +1 -0
  2026. package/src/shiki/langs/sdbl.js +1 -0
  2027. package/src/shiki/langs/shaderlab.js +1 -0
  2028. package/src/shiki/langs/shellscript.js +1 -0
  2029. package/src/shiki/langs/shellsession.js +1 -0
  2030. package/src/shiki/langs/smalltalk.js +1 -0
  2031. package/src/shiki/langs/solidity.js +1 -0
  2032. package/src/shiki/langs/soy.js +1 -0
  2033. package/src/shiki/langs/sparql.js +1 -0
  2034. package/src/shiki/langs/splunk.js +1 -0
  2035. package/src/shiki/langs/sql.js +1 -0
  2036. package/src/shiki/langs/ssh-config.js +1 -0
  2037. package/src/shiki/langs/stata.js +1 -0
  2038. package/src/shiki/langs/stylus.js +1 -0
  2039. package/src/shiki/langs/svelte.js +1 -0
  2040. package/src/shiki/langs/swift.js +1 -0
  2041. package/src/shiki/langs/system-verilog.js +1 -0
  2042. package/src/shiki/langs/systemd.js +1 -0
  2043. package/src/shiki/langs/talonscript.js +1 -0
  2044. package/src/shiki/langs/tasl.js +1 -0
  2045. package/src/shiki/langs/tcl.js +1 -0
  2046. package/src/shiki/langs/templ.js +1 -0
  2047. package/src/shiki/langs/terraform.js +1 -0
  2048. package/src/shiki/langs/tex.js +1 -0
  2049. package/src/shiki/langs/toml.js +1 -0
  2050. package/src/shiki/langs/ts-tags.js +1 -0
  2051. package/src/shiki/langs/tsv.js +1 -0
  2052. package/src/shiki/langs/tsx.js +1 -0
  2053. package/src/shiki/langs/turtle.js +1 -0
  2054. package/src/shiki/langs/twig.js +1 -0
  2055. package/src/shiki/langs/typescript.js +1 -0
  2056. package/src/shiki/langs/typespec.js +1 -0
  2057. package/src/shiki/langs/typst.js +1 -0
  2058. package/src/shiki/langs/v.js +1 -0
  2059. package/src/shiki/langs/vala.js +1 -0
  2060. package/src/shiki/langs/vb.js +1 -0
  2061. package/src/shiki/langs/verilog.js +1 -0
  2062. package/src/shiki/langs/vhdl.js +1 -0
  2063. package/src/shiki/langs/viml.js +1 -0
  2064. package/src/shiki/langs/vue-directives.js +1 -0
  2065. package/src/shiki/langs/vue-html.js +1 -0
  2066. package/src/shiki/langs/vue-interpolations.js +1 -0
  2067. package/src/shiki/langs/vue-sfc-style-variable-injection.js +1 -0
  2068. package/src/shiki/langs/vue-vine.js +1 -0
  2069. package/src/shiki/langs/vue.js +1 -0
  2070. package/src/shiki/langs/vyper.js +1 -0
  2071. package/src/shiki/langs/wasm.js +1 -0
  2072. package/src/shiki/langs/wenyan.js +1 -0
  2073. package/src/shiki/langs/wgsl.js +1 -0
  2074. package/src/shiki/langs/wikitext.js +1 -0
  2075. package/src/shiki/langs/wit.js +1 -0
  2076. package/src/shiki/langs/wolfram.js +1 -0
  2077. package/src/shiki/langs/xml.js +1 -0
  2078. package/src/shiki/langs/xsl.js +1 -0
  2079. package/src/shiki/langs/yaml.js +1 -0
  2080. package/src/shiki/langs/zenscript.js +1 -0
  2081. package/src/shiki/langs/zig.js +1 -0
  2082. package/src/shiki/themes/andromeeda.js +1 -0
  2083. package/src/shiki/themes/aurora-x.js +1 -0
  2084. package/src/shiki/themes/ayu-dark.js +1 -0
  2085. package/src/shiki/themes/catppuccin-frappe.js +1 -0
  2086. package/src/shiki/themes/catppuccin-latte.js +1 -0
  2087. package/src/shiki/themes/catppuccin-macchiato.js +1 -0
  2088. package/src/shiki/themes/catppuccin-mocha.js +1 -0
  2089. package/src/shiki/themes/dark-plus.js +1 -0
  2090. package/src/shiki/themes/dracula-soft.js +1 -0
  2091. package/src/shiki/themes/dracula.js +1 -0
  2092. package/src/shiki/themes/everforest-dark.js +1 -0
  2093. package/src/shiki/themes/everforest-light.js +1 -0
  2094. package/src/shiki/themes/github-dark-default.js +1 -0
  2095. package/src/shiki/themes/github-dark-dimmed.js +1 -0
  2096. package/src/shiki/themes/github-dark-high-contrast.js +1 -0
  2097. package/src/shiki/themes/github-dark.js +1 -0
  2098. package/src/shiki/themes/github-light-default.js +1 -0
  2099. package/src/shiki/themes/github-light-high-contrast.js +1 -0
  2100. package/src/shiki/themes/github-light.js +1 -0
  2101. package/src/shiki/themes/gruvbox-dark-hard.js +1 -0
  2102. package/src/shiki/themes/gruvbox-dark-medium.js +1 -0
  2103. package/src/shiki/themes/gruvbox-dark-soft.js +1 -0
  2104. package/src/shiki/themes/gruvbox-light-hard.js +1 -0
  2105. package/src/shiki/themes/gruvbox-light-medium.js +1 -0
  2106. package/src/shiki/themes/gruvbox-light-soft.js +1 -0
  2107. package/src/shiki/themes/houston.js +1 -0
  2108. package/src/shiki/themes/kanagawa-dragon.js +1 -0
  2109. package/src/shiki/themes/kanagawa-lotus.js +1 -0
  2110. package/src/shiki/themes/kanagawa-wave.js +1 -0
  2111. package/src/shiki/themes/laserwave.js +1 -0
  2112. package/src/shiki/themes/light-plus.js +1 -0
  2113. package/src/shiki/themes/material-theme-darker.js +1 -0
  2114. package/src/shiki/themes/material-theme-lighter.js +1 -0
  2115. package/src/shiki/themes/material-theme-ocean.js +1 -0
  2116. package/src/shiki/themes/material-theme-palenight.js +1 -0
  2117. package/src/shiki/themes/material-theme.js +1 -0
  2118. package/src/shiki/themes/min-dark.js +1 -0
  2119. package/src/shiki/themes/min-light.js +1 -0
  2120. package/src/shiki/themes/monokai.js +1 -0
  2121. package/src/shiki/themes/night-owl.js +1 -0
  2122. package/src/shiki/themes/nord.js +1 -0
  2123. package/src/shiki/themes/one-dark-pro.js +1 -0
  2124. package/src/shiki/themes/one-light.js +1 -0
  2125. package/src/shiki/themes/plastic.js +1 -0
  2126. package/src/shiki/themes/poimandres.js +1 -0
  2127. package/src/shiki/themes/red.js +1 -0
  2128. package/src/shiki/themes/rose-pine-dawn.js +1 -0
  2129. package/src/shiki/themes/rose-pine-moon.js +1 -0
  2130. package/src/shiki/themes/rose-pine.js +1 -0
  2131. package/src/shiki/themes/slack-dark.js +1 -0
  2132. package/src/shiki/themes/slack-ochin.js +1 -0
  2133. package/src/shiki/themes/snazzy-light.js +1 -0
  2134. package/src/shiki/themes/solarized-dark.js +1 -0
  2135. package/src/shiki/themes/solarized-light.js +1 -0
  2136. package/src/shiki/themes/synthwave-84.js +1 -0
  2137. package/src/shiki/themes/tokyo-night.js +1 -0
  2138. package/src/shiki/themes/vesper.js +1 -0
  2139. package/src/shiki/themes/vitesse-black.js +1 -0
  2140. package/src/shiki/themes/vitesse-dark.js +1 -0
  2141. package/src/shiki/themes/vitesse-light.js +1 -0
  2142. package/LICENSE.md +0 -9
  2143. package/dist/app/tailwind.d.ts +0 -3
  2144. package/dist/app/tailwind.js +0 -65
  2145. package/dist/app/tailwind.js.map +0 -1
  2146. package/dist/config/validators/InputSidebarSchema.d.ts +0 -186
  2147. package/dist/config/validators/InputSidebarSchema.js +0 -73
  2148. package/dist/config/validators/InputSidebarSchema.js.map +0 -1
  2149. package/dist/config/validators/SidebarSchema.d.ts +0 -23
  2150. package/dist/config/validators/SidebarSchema.js +0 -82
  2151. package/dist/config/validators/SidebarSchema.js.map +0 -1
  2152. package/dist/internal.d.ts +0 -1
  2153. package/dist/internal.js +0 -2
  2154. package/dist/internal.js.map +0 -1
  2155. package/dist/lib/components/DevPortal.d.ts +0 -7
  2156. package/dist/lib/components/DevPortal.js +0 -54
  2157. package/dist/lib/components/DevPortal.js.map +0 -1
  2158. package/dist/lib/components/Dialog.d.ts +0 -19
  2159. package/dist/lib/components/Dialog.js +0 -23
  2160. package/dist/lib/components/Dialog.js.map +0 -1
  2161. package/dist/lib/components/Select.d.ts +0 -13
  2162. package/dist/lib/components/Select.js +0 -27
  2163. package/dist/lib/components/Select.js.map +0 -1
  2164. package/dist/lib/components/SlotletProvider.d.ts +0 -9
  2165. package/dist/lib/components/SlotletProvider.js +0 -16
  2166. package/dist/lib/components/SlotletProvider.js.map +0 -1
  2167. package/dist/lib/components/SyntaxHighlight.d.ts +0 -11
  2168. package/dist/lib/components/SyntaxHighlight.js +0 -50
  2169. package/dist/lib/components/SyntaxHighlight.js.map +0 -1
  2170. package/dist/lib/components/context/PluginSystem.js +0 -2
  2171. package/dist/lib/components/context/PluginSystem.js.map +0 -1
  2172. package/dist/lib/components/context/ThemeContext.d.ts +0 -2
  2173. package/dist/lib/components/context/ThemeContext.js +0 -7
  2174. package/dist/lib/components/context/ThemeContext.js.map +0 -1
  2175. package/dist/lib/components/context/ThemeProvider.d.ts +0 -4
  2176. package/dist/lib/components/context/ThemeProvider.js +0 -23
  2177. package/dist/lib/components/context/ThemeProvider.js.map +0 -1
  2178. package/dist/lib/components/navigation/Sidebar.d.ts +0 -1
  2179. package/dist/lib/components/navigation/Sidebar.js +0 -14
  2180. package/dist/lib/components/navigation/Sidebar.js.map +0 -1
  2181. package/dist/lib/components/navigation/SidebarBadge.d.ts +0 -23
  2182. package/dist/lib/components/navigation/SidebarBadge.js +0 -24
  2183. package/dist/lib/components/navigation/SidebarBadge.js.map +0 -1
  2184. package/dist/lib/components/navigation/SidebarCategory.d.ts +0 -5
  2185. package/dist/lib/components/navigation/SidebarCategory.js +0 -41
  2186. package/dist/lib/components/navigation/SidebarCategory.js.map +0 -1
  2187. package/dist/lib/components/navigation/SidebarItem.d.ts +0 -12
  2188. package/dist/lib/components/navigation/SidebarItem.js +0 -43
  2189. package/dist/lib/components/navigation/SidebarItem.js.map +0 -1
  2190. package/dist/lib/components/navigation/SidebarWrapper.d.ts +0 -6
  2191. package/dist/lib/components/navigation/SidebarWrapper.js +0 -6
  2192. package/dist/lib/components/navigation/SidebarWrapper.js.map +0 -1
  2193. package/dist/lib/core/DevPortalContext.d.ts +0 -78
  2194. package/dist/lib/core/DevPortalContext.js +0 -49
  2195. package/dist/lib/core/DevPortalContext.js.map +0 -1
  2196. package/dist/lib/plugins/custom-page/index.d.ts +0 -8
  2197. package/dist/lib/plugins/custom-page/index.js +0 -12
  2198. package/dist/lib/plugins/custom-page/index.js.map +0 -1
  2199. package/dist/lib/plugins/markdown/Toc.js +0 -48
  2200. package/dist/lib/plugins/markdown/Toc.js.map +0 -1
  2201. package/dist/lib/plugins/markdown/generateRoutes.d.ts +0 -3
  2202. package/dist/lib/plugins/markdown/generateRoutes.js +0 -21
  2203. package/dist/lib/plugins/markdown/generateRoutes.js.map +0 -1
  2204. package/dist/lib/plugins/openapi/Route.d.ts +0 -6
  2205. package/dist/lib/plugins/openapi/Route.js +0 -8
  2206. package/dist/lib/plugins/openapi/Route.js.map +0 -1
  2207. package/dist/lib/plugins/openapi/client/createMemoryClient.d.ts +0 -12
  2208. package/dist/lib/plugins/openapi/client/createMemoryClient.js +0 -46
  2209. package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +0 -1
  2210. package/dist/lib/plugins/openapi/client/createWorkerClient.d.ts +0 -10
  2211. package/dist/lib/plugins/openapi/client/createWorkerClient.js +0 -61
  2212. package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +0 -1
  2213. package/dist/lib/plugins/openapi/client/interfaces.d.ts +0 -4
  2214. package/dist/lib/plugins/openapi/client/interfaces.js +0 -2
  2215. package/dist/lib/plugins/openapi/client/interfaces.js.map +0 -1
  2216. package/dist/lib/plugins/openapi/client/worker.js +0 -20
  2217. package/dist/lib/plugins/openapi/client/worker.js.map +0 -1
  2218. package/dist/lib/plugins/openapi/playground/Editor.d.ts +0 -1
  2219. package/dist/lib/plugins/openapi/playground/Editor.js +0 -5
  2220. package/dist/lib/plugins/openapi/playground/Editor.js.map +0 -1
  2221. package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +0 -4
  2222. package/dist/lib/plugins/openapi/playground/InlineInput.js +0 -3
  2223. package/dist/lib/plugins/openapi/playground/InlineInput.js.map +0 -1
  2224. package/dist/lib/plugins/openapi/playground/ResponseTab.d.ts +0 -4
  2225. package/dist/lib/plugins/openapi/playground/ResponseTab.js +0 -42
  2226. package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +0 -1
  2227. package/dist/lib/plugins/openapi/playground/UrlDisplay.d.ts +0 -4
  2228. package/dist/lib/plugins/openapi/playground/UrlDisplay.js +0 -22
  2229. package/dist/lib/plugins/openapi/playground/UrlDisplay.js.map +0 -1
  2230. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.d.ts +0 -9
  2231. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js +0 -14
  2232. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.js.map +0 -1
  2233. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.d.ts +0 -6
  2234. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js +0 -17
  2235. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.js.map +0 -1
  2236. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.d.ts +0 -7
  2237. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js +0 -10
  2238. package/dist/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.js.map +0 -1
  2239. package/dist/lib/plugins/openapi/schema/SchemaComponents.d.ts +0 -13
  2240. package/dist/lib/plugins/openapi/schema/SchemaComponents.js +0 -28
  2241. package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +0 -1
  2242. package/dist/lib/plugins/openapi/util/urql.d.ts +0 -7
  2243. package/dist/lib/plugins/openapi/util/urql.js +0 -8
  2244. package/dist/lib/plugins/openapi/util/urql.js.map +0 -1
  2245. package/dist/lib/plugins/openapi-worker.d.ts +0 -1
  2246. package/dist/lib/plugins/openapi-worker.js +0 -2
  2247. package/dist/lib/plugins/openapi-worker.js.map +0 -1
  2248. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.d.ts +0 -2
  2249. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js +0 -3
  2250. package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js.map +0 -1
  2251. package/dist/lib/themeToggle.d.ts +0 -1
  2252. package/dist/lib/themeToggle.js +0 -7
  2253. package/dist/lib/themeToggle.js.map +0 -1
  2254. package/dist/lib/ui/Note.d.ts +0 -8
  2255. package/dist/lib/ui/Note.js +0 -23
  2256. package/dist/lib/ui/Note.js.map +0 -1
  2257. package/dist/lib/util/createWaitForNotify.d.ts +0 -1
  2258. package/dist/lib/util/createWaitForNotify.js +0 -15
  2259. package/dist/lib/util/createWaitForNotify.js.map +0 -1
  2260. package/dist/vite/plugin-custom-css.d.ts +0 -6
  2261. package/dist/vite/plugin-custom-css.js +0 -55
  2262. package/dist/vite/plugin-custom-css.js.map +0 -1
  2263. package/dist/vite/plugin-docs.test.js +0 -30
  2264. package/dist/vite/plugin-docs.test.js.map +0 -1
  2265. package/dist/vite/plugin-html-transform.d.ts +0 -2
  2266. package/dist/vite/plugin-html-transform.js +0 -15
  2267. package/dist/vite/plugin-html-transform.js.map +0 -1
  2268. package/dist/vite/plugin-sidebar.d.ts +0 -3
  2269. package/dist/vite/plugin-sidebar.js +0 -46
  2270. package/dist/vite/plugin-sidebar.js.map +0 -1
  2271. package/dist/vite/prerender.d.ts +0 -17
  2272. package/dist/vite/prerender.js +0 -87
  2273. package/dist/vite/prerender.js.map +0 -1
  2274. package/lib/AuthenticationPlugin-Bx9FK124.js +0 -55
  2275. package/lib/AuthenticationPlugin-Bx9FK124.js.map +0 -1
  2276. package/lib/CategoryHeading-ovR-zHRq.js +0 -10
  2277. package/lib/CategoryHeading-ovR-zHRq.js.map +0 -1
  2278. package/lib/DeveloperHint-YeWHKvyr.js +0 -16
  2279. package/lib/DeveloperHint-YeWHKvyr.js.map +0 -1
  2280. package/lib/ErrorPage-CsZAN_za.js +0 -16
  2281. package/lib/ErrorPage-CsZAN_za.js.map +0 -1
  2282. package/lib/InkeepCustomTrigger-CE5-K5ex.js +0 -6
  2283. package/lib/InkeepCustomTrigger-CE5-K5ex.js.map +0 -1
  2284. package/lib/Input-CtVUl3eT.js +0 -2198
  2285. package/lib/Input-CtVUl3eT.js.map +0 -1
  2286. package/lib/Markdown-DapSf3wG.js +0 -20281
  2287. package/lib/Markdown-DapSf3wG.js.map +0 -1
  2288. package/lib/MdxPage-BqBWsXZ1.js +0 -172
  2289. package/lib/MdxPage-BqBWsXZ1.js.map +0 -1
  2290. package/lib/OperationList-CYrmxPa8.js +0 -602
  2291. package/lib/OperationList-CYrmxPa8.js.map +0 -1
  2292. package/lib/Route-Q5mqNQrv.js +0 -14
  2293. package/lib/Route-Q5mqNQrv.js.map +0 -1
  2294. package/lib/SidebarBadge-Dx7jtnoA.js +0 -498
  2295. package/lib/SidebarBadge-Dx7jtnoA.js.map +0 -1
  2296. package/lib/SlotletProvider-D3UD5Go3.js +0 -238
  2297. package/lib/SlotletProvider-D3UD5Go3.js.map +0 -1
  2298. package/lib/Spinner-3cQDBVGr.js +0 -7
  2299. package/lib/Spinner-3cQDBVGr.js.map +0 -1
  2300. package/lib/ZudokuContext-cr-pTRY1.js +0 -1084
  2301. package/lib/ZudokuContext-cr-pTRY1.js.map +0 -1
  2302. package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
  2303. package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
  2304. package/lib/assets/index-B9EWVYfo.js +0 -4790
  2305. package/lib/assets/index-B9EWVYfo.js.map +0 -1
  2306. package/lib/assets/worker-BP8Uzflt.js +0 -17916
  2307. package/lib/assets/worker-BP8Uzflt.js.map +0 -1
  2308. package/lib/index-BG0g4WW0.js +0 -1771
  2309. package/lib/index-BG0g4WW0.js.map +0 -1
  2310. package/lib/index-BlJ2rj99.js +0 -5815
  2311. package/lib/index-BlJ2rj99.js.map +0 -1
  2312. package/lib/index-Bn6Lc9tq.js +0 -9
  2313. package/lib/index-Bn6Lc9tq.js.map +0 -1
  2314. package/lib/index-BngPzhKn.js +0 -124
  2315. package/lib/index-BngPzhKn.js.map +0 -1
  2316. package/lib/index-CLd8ycZz.js +0 -4790
  2317. package/lib/index-CLd8ycZz.js.map +0 -1
  2318. package/lib/index-Dolisrci.js +0 -2814
  2319. package/lib/index-Dolisrci.js.map +0 -1
  2320. package/lib/index-LNp6rxyU.js +0 -2094
  2321. package/lib/index-LNp6rxyU.js.map +0 -1
  2322. package/lib/joinPath-B7kNnUX4.js +0 -8
  2323. package/lib/joinPath-B7kNnUX4.js.map +0 -1
  2324. package/lib/jsx-runtime-B6kdoens.js +0 -635
  2325. package/lib/jsx-runtime-B6kdoens.js.map +0 -1
  2326. package/lib/prism-bash.min-DadFsM4Z.js +0 -7
  2327. package/lib/prism-bash.min-DadFsM4Z.js.map +0 -1
  2328. package/lib/prism-csharp.min-Yizuc34Y.js +0 -35
  2329. package/lib/prism-csharp.min-Yizuc34Y.js.map +0 -1
  2330. package/lib/prism-java.min-d5iT_mOd.js +0 -7
  2331. package/lib/prism-java.min-d5iT_mOd.js.map +0 -1
  2332. package/lib/prism-javascript.min-CEqHqgbm.js +0 -9
  2333. package/lib/prism-javascript.min-CEqHqgbm.js.map +0 -1
  2334. package/lib/prism-json.min-B1GJqK1k.js +0 -2
  2335. package/lib/prism-json.min-B1GJqK1k.js.map +0 -1
  2336. package/lib/prism-markdown.min-F3U-vPBi.js +0 -61
  2337. package/lib/prism-markdown.min-F3U-vPBi.js.map +0 -1
  2338. package/lib/prism-markup-BNGj0Tvm.js +0 -174
  2339. package/lib/prism-markup-BNGj0Tvm.js.map +0 -1
  2340. package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
  2341. package/lib/prism-markup-templating-DZrrEs0A.js.map +0 -1
  2342. package/lib/prism-objectivec.min-BXSWqpJJ.js +0 -2
  2343. package/lib/prism-objectivec.min-BXSWqpJJ.js.map +0 -1
  2344. package/lib/prism-php.min-o7FpoMP_.js +0 -11
  2345. package/lib/prism-php.min-o7FpoMP_.js.map +0 -1
  2346. package/lib/prism-ruby.min-C7LwcKyz.js +0 -10
  2347. package/lib/prism-ruby.min-C7LwcKyz.js.map +0 -1
  2348. package/lib/prism-typescript.min-oSVeWCAd.js +0 -6
  2349. package/lib/prism-typescript.min-oSVeWCAd.js.map +0 -1
  2350. package/lib/router-D2p7Olpn.js +0 -2971
  2351. package/lib/router-D2p7Olpn.js.map +0 -1
  2352. package/lib/state-hNe1dw4B.js +0 -548
  2353. package/lib/state-hNe1dw4B.js.map +0 -1
  2354. package/lib/urql-YhcsXYy8.js +0 -1591
  2355. package/lib/urql-YhcsXYy8.js.map +0 -1
  2356. package/lib/utils-ByIc_KIM.js +0 -749
  2357. package/lib/utils-ByIc_KIM.js.map +0 -1
  2358. package/lib/zudoku.openapi-worker.js +0 -16059
  2359. package/lib/zudoku.openapi-worker.js.map +0 -1
  2360. package/lib/zudoku.plugin-custom-page.js +0 -13
  2361. package/lib/zudoku.plugin-custom-page.js.map +0 -1
  2362. package/src/app/tailwind.ts +0 -68
  2363. package/src/lib/components/DevPortal.tsx +0 -111
  2364. package/src/lib/components/Dialog.tsx +0 -119
  2365. package/src/lib/components/Select.tsx +0 -157
  2366. package/src/lib/components/SlotletProvider.tsx +0 -30
  2367. package/src/lib/components/SyntaxHighlight.tsx +0 -122
  2368. package/src/lib/components/context/PluginSystem.ts +0 -0
  2369. package/src/lib/components/context/ThemeContext.tsx +0 -8
  2370. package/src/lib/components/context/ThemeProvider.tsx +0 -27
  2371. package/src/lib/components/navigation/Sidebar.tsx +0 -39
  2372. package/src/lib/components/navigation/SidebarBadge.tsx +0 -43
  2373. package/src/lib/components/navigation/SidebarCategory.tsx +0 -131
  2374. package/src/lib/components/navigation/SidebarItem.tsx +0 -130
  2375. package/src/lib/components/navigation/SidebarWrapper.tsx +0 -26
  2376. package/src/lib/core/DevPortalContext.ts +0 -135
  2377. package/src/lib/plugins/custom-page/index.tsx +0 -22
  2378. package/src/lib/plugins/markdown/Toc.tsx +0 -135
  2379. package/src/lib/plugins/markdown/generateRoutes.tsx +0 -38
  2380. package/src/lib/plugins/openapi/Route.tsx +0 -21
  2381. package/src/lib/plugins/openapi/client/createMemoryClient.ts +0 -56
  2382. package/src/lib/plugins/openapi/client/createWorkerClient.ts +0 -80
  2383. package/src/lib/plugins/openapi/client/interfaces.ts +0 -5
  2384. package/src/lib/plugins/openapi/client/worker.ts +0 -30
  2385. package/src/lib/plugins/openapi/playground/Editor.tsx +0 -4
  2386. package/src/lib/plugins/openapi/playground/InlineInput.tsx +0 -6
  2387. package/src/lib/plugins/openapi/playground/ResponseTab.tsx +0 -76
  2388. package/src/lib/plugins/openapi/playground/UrlDisplay.tsx +0 -32
  2389. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroup.tsx +0 -47
  2390. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupConnector.tsx +0 -54
  2391. package/src/lib/plugins/openapi/schema/LogicalGroup/LogicalGroupItem.tsx +0 -30
  2392. package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +0 -126
  2393. package/src/lib/plugins/openapi/util/urql.ts +0 -8
  2394. package/src/lib/plugins/openapi-worker.ts +0 -1
  2395. package/src/lib/plugins/search-inkeep/InkeepCustomTrigger.tsx +0 -3
  2396. package/src/lib/themeToggle.ts +0 -7
  2397. package/src/lib/ui/Note.tsx +0 -58
  2398. package/src/lib/util/createWaitForNotify.ts +0 -18
  2399. /package/dist/{lib/components/context/PluginSystem.d.ts → config/validators/InputNavigationSchema.test-d.d.ts} +0 -0
  2400. /package/dist/{lib/plugins/openapi/client/worker.d.ts → config/validators/validate.test.d.ts} +0 -0
  2401. /package/dist/{vite/plugin-docs.test.d.ts → lib/auth/issuer.test.d.ts} +0 -0
  2402. /package/dist/lib/{plugins/markdown → components/navigation}/Toc.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OperationList-B7nPIFB8.js","sources":["../src/lib/plugins/openapi/graphql/fragment-masking.ts","../src/lib/ui/ButtonGroup.tsx","../src/lib/plugins/openapi/DownloadSchemaButton.tsx","../src/lib/plugins/openapi/SimpleSelect.tsx","../src/lib/plugins/openapi/Endpoint.tsx","../src/lib/ui/Badge.tsx","../src/lib/util/renderIf.ts","../src/lib/ui/NativeSelect.tsx","../src/lib/ui/util.tsx","../src/lib/plugins/openapi/components/ResponseContent.tsx","../src/lib/plugins/openapi/MCPEndpoint.tsx","../src/lib/plugins/openapi/ParameterListItem.tsx","../src/lib/plugins/openapi/ParameterList.tsx","../src/lib/util/useOnScreen.ts","../src/lib/plugins/openapi/CollapsibleCode.tsx","../src/lib/plugins/openapi/components/NonHighlightedCode.tsx","../src/lib/plugins/openapi/SidecarBox.tsx","../src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx","../src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx","../src/lib/plugins/openapi/SidecarExamples.tsx","../src/lib/plugins/openapi/RequestBodySidecarBox.tsx","../src/lib/plugins/openapi/ResponsesSidecarBox.tsx","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/chunk-7LT4AZED.js","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/chunk-UPA5TN5W.js","../../../node_modules/.pnpm/is-regexp@1.0.0/node_modules/is-regexp/index.js","../../../node_modules/.pnpm/is-obj@1.0.1/node_modules/is-obj/index.js","../../../node_modules/.pnpm/get-own-enumerable-property-symbols@3.0.2/node_modules/get-own-enumerable-property-symbols/lib/index.js","../../../node_modules/.pnpm/stringify-object@3.3.0/node_modules/stringify-object/index.js","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/chunk-UEZF7UNC.js","../../../node_modules/.pnpm/punycode@1.4.1/node_modules/punycode/punycode.js","../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../../../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js","../../../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js","../../../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/callBound.js","../../../node_modules/.pnpm/object-inspect@1.13.2/node_modules/object-inspect/index.js","../../../node_modules/.pnpm/side-channel@1.0.6/node_modules/side-channel/index.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/formats.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/utils.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/stringify.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/parse.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/index.js","../../../node_modules/.pnpm/url@0.11.3/node_modules/url/url.js","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/index.js","../src/lib/plugins/openapi/util/createHttpSnippet.ts","../src/lib/plugins/openapi/util/generateSchemaExample.ts","../src/lib/plugins/openapi/util/methodToColor.ts","../src/lib/plugins/openapi/Sidecar.tsx","../src/lib/plugins/openapi/OperationListItem.tsx","../src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx","../src/lib/plugins/openapi/OperationList.tsx"],"sourcesContent":["/* eslint-disable */\nimport type {\n ResultOf,\n DocumentTypeDecoration,\n} from \"@graphql-typed-document-node/core\";\nimport type { Incremental, TypedDocumentString } from \"./graphql.js\";\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ \" $fragmentName\"?: infer TKey }]\n ? TKey extends string\n ? { \" $fragmentRefs\"?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>,\n): TType;\n// return nullable if `fragmentType` is undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | undefined,\n): TType | undefined;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null,\n): TType | null;\n// return nullable if `fragmentType` is nullable or undefined\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined,\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: Array<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): Array<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): Array<TType> | null | undefined;\n// return readonly array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>,\n): ReadonlyArray<TType>;\n// return readonly array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | Array<FragmentType<DocumentTypeDecoration<TType, any>>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined,\n): TType | Array<TType> | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: TypedDocumentString<TQuery, any>,\n fragmentNode: TypedDocumentString<TFrag, any>,\n data:\n | FragmentType<TypedDocumentString<Incremental<TFrag>, any>>\n | null\n | undefined,\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = queryNode.__meta__?.deferredFields as Record<\n string,\n (keyof TFrag)[]\n >;\n const fragName = fragmentNode.__meta__?.fragmentName as string | undefined;\n\n if (!deferredFields || !fragName) return true;\n\n const fields = deferredFields[fragName] ?? [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../util/cn.js\";\nimport { Separator } from \"./Separator.js\";\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n },\n);\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n className={cn(\n \"bg-muted flex items-center gap-2 rounded-md border px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"bg-input relative m-0! self-stretch data-[orientation=vertical]:h-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n};\n","import {\n ChevronDownIcon,\n CopyIcon,\n DownloadIcon,\n ExternalLinkIcon,\n} from \"lucide-react\";\nimport type { MouseEventHandler } from \"react\";\nimport { Button } from \"zudoku/components\";\nimport { ButtonGroup } from \"zudoku/ui/ButtonGroup.js\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from \"zudoku/ui/DropdownMenu.js\";\nimport { useCopyToClipboard } from \"../../util/useCopyToClipboard.js\";\nimport { ChatGPTLogo } from \"../markdown/assets/ChatGPTLogo.js\";\nimport { ClaudeLogo } from \"../markdown/assets/ClaudeLogo.js\";\n\nexport const DownloadSchemaButton = ({\n downloadUrl,\n}: {\n downloadUrl: string;\n}) => {\n const [, copyToClipboard] = useCopyToClipboard();\n\n const handleDownload: MouseEventHandler<HTMLAnchorElement> = async (e) => {\n const isExternal = downloadUrl.includes(\"://\");\n\n if (!isExternal) return;\n\n e.preventDefault();\n try {\n const response = await fetch(downloadUrl);\n if (!response.ok)\n throw new Error(`Failed to fetch: ${response.statusText}`);\n\n const blob = await response.blob();\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement(\"a\");\n a.href = url;\n a.download = downloadUrl.split(\"/\").pop() || \"schema.json\";\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n } catch (error) {\n // biome-ignore lint/suspicious/noConsole: Logging error\n console.error(\"Failed to download schema:\", error);\n }\n };\n\n return (\n <ButtonGroup>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"flex items-center gap-1.5\"\n asChild\n >\n <a href={downloadUrl} download onClick={handleDownload}>\n <DownloadIcon size={14} />\n Download schema\n </a>\n </Button>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button size=\"sm\" variant=\"outline\" className=\"px-1.5\">\n <ChevronDownIcon size={14} />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem asChild>\n <a href={downloadUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n <ExternalLinkIcon size={14} />\n Open in new tab\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={async () => {\n const response = await fetch(downloadUrl);\n const schema = await response.text();\n copyToClipboard(schema);\n }}\n >\n <CopyIcon size={14} />\n Copy to clipboard\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this API: ${new URL(downloadUrl, window.location.href).href}`,\n );\n window.open(`https://claude.ai/new?q=${prompt}`, \"_blank\");\n }}\n >\n <ClaudeLogo className=\"size-4\" />\n Use in Claude\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n const prompt = encodeURIComponent(\n `Help me understand this API: ${new URL(downloadUrl, window.location.href).href}`,\n );\n window.open(`https://chatgpt.com/?q=${prompt}`, \"_blank\");\n }}\n >\n <ChatGPTLogo className=\"size-4\" />\n Use in ChatGPT\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </ButtonGroup>\n );\n};\n","import { ChevronsUpDownIcon } from \"lucide-react\";\nimport type { ChangeEventHandler } from \"react\";\nimport { cn } from \"../../util/cn.js\";\n\nexport const SimpleSelect = ({\n value,\n onChange,\n className,\n options,\n showChevrons = true,\n}: {\n value: string;\n onChange: ChangeEventHandler<HTMLSelectElement>;\n className?: string;\n options: {\n value: string;\n label: string;\n }[];\n showChevrons?: boolean;\n}) => (\n <div className=\"grid\">\n <select\n className={cn(\n \"w-full row-start-1 col-start-1 border border-input text-foreground px-2 py-1 pe-6\",\n \"rounded-md appearance-none bg-zinc-50 hover:bg-white dark:bg-zinc-800 hover:dark:bg-zinc-800/75\",\n className,\n )}\n value={value}\n onChange={onChange}\n >\n {options.map((option) => (\n <option value={option.value} key={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n <div\n className={cn(\n !showChevrons && \"hidden\",\n \"row-start-1 col-start-1 self-center justify-self-end relative end-2 pointer-events-none\",\n )}\n >\n <ChevronsUpDownIcon size={14} />\n </div>\n </div>\n);\n","import { useSuspenseQuery } from \"@tanstack/react-query\";\nimport { CheckIcon, CopyIcon } from \"lucide-react\";\nimport { useState, useTransition } from \"react\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { useCreateQuery } from \"./client/useCreateQuery.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { SimpleSelect } from \"./SimpleSelect.js\";\nimport { useSelectedServer } from \"./state.js\";\n\nconst ServersQuery = graphql(/* GraphQL */ `\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n`);\n\nconst CopyButton = ({ url }: { url: string }) => {\n const [isCopied, setIsCopied] = useState(false);\n\n return (\n <Button\n onClick={() => {\n void navigator.clipboard.writeText(url).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n });\n }}\n variant=\"ghost\"\n size=\"icon-xs\"\n >\n {isCopied ? (\n <CheckIcon className=\"text-green-600\" size={14} />\n ) : (\n <CopyIcon size={14} strokeWidth={1.3} />\n )}\n </Button>\n );\n};\n\nexport const Endpoint = () => {\n const { input, type } = useOasConfig();\n const query = useCreateQuery(ServersQuery, { input, type });\n const result = useSuspenseQuery(query);\n const [, startTransition] = useTransition();\n const { selectedServer, setSelectedServer } = useSelectedServer(\n result.data.schema.servers,\n );\n\n const { servers } = result.data.schema;\n const firstServer = servers.at(0);\n\n if (!firstServer) return null;\n\n return (\n <div className=\"flex items-center gap-1.5 flex-nowrap\">\n <span className=\"font-medium text-sm\">Endpoint</span>\n {servers.length > 1 ? (\n <SimpleSelect\n className=\"font-mono text-xs border-input bg-transparent dark:bg-input/30 dark:hover:bg-input/50 py-1.5 max-w-[450px] truncate\"\n onChange={(e) =>\n startTransition(() => setSelectedServer(e.target.value))\n }\n value={selectedServer}\n showChevrons={servers.length > 1}\n options={servers.map((server) => ({\n value: server.url,\n label: server.url,\n }))}\n />\n ) : (\n <InlineCode className=\"text-xs px-2 py-1.5\" selectOnClick>\n {firstServer.url}\n </InlineCode>\n )}\n\n <CopyButton url={servers.length > 1 ? selectedServer : firstServer.url} />\n </div>\n );\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n muted: \"bg-muted text-muted-foreground \",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n","export const renderIf = <G, R>(\n variable: G | undefined | null,\n callback: (variable: G) => R,\n): R | undefined => (variable ? callback(variable) : undefined);\n","import { ChevronDownIcon } from \"lucide-react\";\nimport type * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nfunction NativeSelect({ className, ...props }: React.ComponentProps<\"select\">) {\n return (\n <div\n className=\"group/native-select relative w-fit has-[select:disabled]:opacity-50\"\n data-slot=\"native-select-wrapper\"\n >\n <select\n data-slot=\"native-select\"\n className={cn(\n \"border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 h-9 w-full min-w-0 appearance-none rounded-md border bg-transparent px-3 py-2 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed\",\n \"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className,\n )}\n {...props}\n />\n <ChevronDownIcon\n className=\"text-muted-foreground pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 opacity-50 select-none\"\n aria-hidden=\"true\"\n data-slot=\"native-select-icon\"\n />\n </div>\n );\n}\n\nfunction NativeSelectOption({ ...props }: React.ComponentProps<\"option\">) {\n return <option data-slot=\"native-select-option\" {...props} />;\n}\n\nfunction NativeSelectOptGroup({\n className,\n ...props\n}: React.ComponentProps<\"optgroup\">) {\n return (\n <optgroup\n data-slot=\"native-select-optgroup\"\n className={cn(className)}\n {...props}\n />\n );\n}\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption };\n","import { cn as cnUtil } from \"../util/cn.js\";\n\nexport const cn = cnUtil;\n","import * as Tabs from \"@radix-ui/react-tabs\";\nimport { useState } from \"react\";\nimport { Markdown } from \"zudoku/components\";\nimport { Badge } from \"zudoku/ui/Badge.js\";\nimport { NativeSelect, NativeSelectOption } from \"zudoku/ui/NativeSelect.js\";\nimport { cn } from \"zudoku/ui/util.js\";\nimport type { MediaTypeObject } from \"../graphql/graphql.js\";\nimport { SchemaView } from \"../schema/SchemaView.js\";\n\ntype Response = {\n statusCode: string;\n description?: string | null;\n content?: MediaTypeObject[] | null;\n};\n\nexport const ResponseContent = ({\n responses,\n selectedResponse,\n onSelectResponse,\n}: {\n responses: Response[];\n selectedResponse?: string;\n onSelectResponse?: (value: string) => void;\n}) => {\n const [selectedMediaType, setSelectedMediaType] = useState(\n responses[0]?.content?.[0]?.mediaType ?? \"\",\n );\n const currentResponse =\n responses.find((r) => r.statusCode === selectedResponse) ?? responses[0];\n\n const hideTabs =\n responses.length === 1 && responses.at(0)?.statusCode === \"200\";\n\n const cardHeader = (\n <div className=\"flex flex-col text-muted-foreground\">\n <div\n className={cn(\n \"flex flex-row items-center gap-2 justify-between\",\n !hideTabs && \"px-4 py-1.5 border-b\",\n )}\n >\n {!hideTabs && (\n <Tabs.List className=\"flex flex-row font-medium text-sm gap-4\">\n {responses.map((response) => (\n <Tabs.Trigger\n key={response.statusCode}\n value={response.statusCode}\n className={cn(\n \"py-0.5 h-fit -mx-2 px-2 rounded-md\",\n \"data-[state=active]:dark:ring-1 data-[state=active]:dark:ring-border data-[state=active]:bg-background data-[state=active]:drop-shadow\",\n \"data-[state=active]:font-semibold data-[state=active]:text-foreground\",\n )}\n >\n {response.statusCode}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n )}\n {currentResponse?.content && currentResponse.content.length > 1 && (\n <NativeSelect\n value={selectedMediaType}\n onChange={(e) => setSelectedMediaType(e.target.value)}\n className=\"text-xs h-fit py-1 bg-background\"\n >\n {currentResponse.content.map((c) => (\n <NativeSelectOption key={c.mediaType} value={c.mediaType}>\n {c.mediaType}\n </NativeSelectOption>\n ))}\n </NativeSelect>\n )}\n </div>\n <div className=\"p-2 clear-both\">\n {hideTabs && (\n <Badge variant=\"outline\" className=\"float-start me-2\">\n {currentResponse?.statusCode}\n </Badge>\n )}\n {currentResponse?.description && (\n <Markdown\n className=\"text-sm text-muted-foreground max-w-none\"\n content={currentResponse.description}\n />\n )}\n </div>\n </div>\n );\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Tabs.Root\n value={selectedResponse}\n onValueChange={(value) => {\n onSelectResponse?.(value);\n const newResponse = responses.find((r) => r.statusCode === value);\n setSelectedMediaType(newResponse?.content?.[0]?.mediaType ?? \"\");\n }}\n >\n {responses.map((response) => (\n <Tabs.Content key={response.statusCode} value={response.statusCode}>\n <SchemaView\n schema={\n response.content?.find(\n (content) => content.mediaType === selectedMediaType,\n )?.schema\n }\n cardHeader={cardHeader}\n />\n </Tabs.Content>\n ))}\n </Tabs.Root>\n </div>\n );\n};\n","import { CheckIcon, CopyIcon, ExternalLinkIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { InlineCode } from \"../../components/InlineCode.js\";\nimport { Typography } from \"../../components/Typography.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { Callout } from \"../../ui/Callout.js\";\nimport { Card } from \"../../ui/Card.js\";\nimport { SyntaxHighlight } from \"../../ui/SyntaxHighlight.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../ui/Tabs.js\";\nimport { cn } from \"../../util/cn.js\";\n\nexport const MCPEndpoint = ({\n serverUrl,\n summary,\n data,\n}: {\n serverUrl?: string;\n data?: boolean | Record<string, unknown>;\n summary?: string;\n}) => {\n const [isCopied, setIsCopied] = useState(false);\n const mcpUrl = `${(serverUrl ?? \"\").replace(/\\/+$/, \"\")}/mcp`;\n\n const name =\n typeof data === \"boolean\"\n ? (summary ?? \"mcp-server\")\n : (data?.name ?? summary ?? \"mcp-server\");\n\n const claudeConfig = `{\n \"mcpServers\": {\n \"${name}\": {\n \"command\": \"npx\",\n \"args\": [\n \"mcp-remote\",\n \"${mcpUrl}\"\n ]\n }\n }\n}`;\n\n const cursorConfig = `{\n \"mcpServers\": {\n \"${name}\": {\n \"url\": \"${mcpUrl}\"\n }\n }\n}`;\n\n const chatgptConfig = mcpUrl;\n\n const vscodeConfig = `{\n \"servers\": {\n \"${name}\": {\n \"command\": \"npx\",\n \"args\": [\n \"mcp-remote\",\n \"${mcpUrl}\"\n ]\n }\n }\n}`;\n\n const handleCopy = () => {\n void navigator.clipboard.writeText(mcpUrl).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 2000);\n });\n };\n\n return (\n <Card className=\"p-6 mb-6 max-w-screen-md\">\n <div className=\"space-y-4\">\n <div>\n <h3 className=\"text-lg font-semibold mb-2\">MCP Endpoint</h3>\n <p className=\"text-sm text-muted-foreground mb-3\">\n Copy the url to connect any{\" \"}\n <a\n href=\"https://modelcontextprotocol.io/\"\n target=\"_blank\"\n rel=\"noopener\"\n className=\"text-primary hover:underline\"\n >\n MCP\n </a>\n -compatible AI tool\n </p>\n\n <div\n className={cn(\n \"relative flex items-center gap-2 p-3 rounded-md border border-primary/50\",\n )}\n >\n <InlineCode className=\"bg-primary/20 px-4 py-2 flex-1 border-none\">\n {mcpUrl}\n </InlineCode>\n <Button\n onClick={handleCopy}\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-8 w-8\"\n >\n {isCopied ? (\n <CheckIcon className=\"h-4 w-4 text-green-600\" />\n ) : (\n <CopyIcon className=\"h-4 w-4\" />\n )}\n </Button>\n </div>\n </div>\n\n <div>\n <h3 className=\"text-lg font-semibold mb-2\">AI Tool Configuration</h3>\n <p className=\"text-sm text-muted-foreground mb-3\">\n Choose your AI tool and copy the configuration to get started.\n </p>\n\n <hr className=\"my-4\" />\n\n <Tabs defaultValue=\"claude\" className=\"w-full\">\n <TabsList className=\"grid w-full grid-cols-4\">\n <TabsTrigger value=\"claude\">Claude</TabsTrigger>\n <TabsTrigger value=\"chatgpt\">ChatGPT</TabsTrigger>\n <TabsTrigger value=\"cursor\">Cursor</TabsTrigger>\n <TabsTrigger value=\"vscode\">VS Code</TabsTrigger>\n </TabsList>\n\n <Typography className=\"text-sm max-w-full\">\n <TabsContent value=\"claude\" className=\"space-y-3\">\n <ol>\n <li>\n Open Claude Desktop and click <strong>Settings</strong> in\n the lower corner\n </li>\n <li>\n Navigate to <strong>Developer</strong> tab →{\" \"}\n <strong>Edit Config</strong>\n </li>\n <li>\n <span>Add this configuration to </span>\n <InlineCode>claude_desktop_config.json</InlineCode>:\n <SyntaxHighlight\n showLanguageIndicator\n title=\"claude_desktop_config.json\"\n language=\"json\"\n code={claudeConfig}\n className=\"mt-2\"\n />\n </li>\n <li>\n Save the file and restart Claude Desktop. Look for the 🔨\n icon in the bottom-right corner.\n </li>\n </ol>\n <p className=\"text-xs text-muted-foreground mt-2\">\n macOS: ~/Library/Application\n Support/Claude/claude_desktop_config.json\n <br />\n Windows: %APPDATA%\\Claude\\claude_desktop_config.json\n </p>\n <a\n href=\"https://docs.mcp.run/mcp-clients/claude-desktop/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1 text-sm text-primary hover:underline\"\n >\n View official docs\n <ExternalLinkIcon className=\"h-3 w-3\" />\n </a>\n </TabsContent>\n\n <TabsContent value=\"chatgpt\" className=\"space-y-3\">\n <Callout type=\"note\" title=\"Requirements\">\n ChatGPT Pro, Team, Enterprise, or Edu subscription. Note: MCP\n support is limited to read-only operations through Deep\n Research.\n </Callout>\n <ol>\n <li>\n Go to <strong>Settings</strong> →{\" \"}\n <strong>Connectors</strong> → <strong>Connect</strong>\n </li>\n <li>\n Click <strong>Custom</strong> and add your MCP URL:\n <InlineCode className=\"ml-2\">{chatgptConfig}</InlineCode>\n </li>\n <li>Provide a name and description for your connector</li>\n <li>\n Save and enable the connector. Users must authenticate with\n the connector before first use.\n </li>\n <li>Access through Deep Research in your chat interface</li>\n </ol>\n\n <a\n href=\"https://help.openai.com/en/articles/11487775-connectors-in-chatgpt\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1 text-sm text-primary hover:underline\"\n >\n View official docs\n <ExternalLinkIcon className=\"h-3 w-3\" />\n </a>\n </TabsContent>\n\n <TabsContent value=\"cursor\" className=\"space-y-3\">\n <ol>\n <li>\n <span>Create or edit: </span>\n <InlineCode>~/.cursor/mcp.json</InlineCode>\n <span> (global) or </span>\n <InlineCode>.cursor/mcp.json</InlineCode>\n <span> (project)</span>\n <SyntaxHighlight\n showLanguageIndicator\n title=\"mcp.json\"\n language=\"json\"\n code={cursorConfig}\n className=\"mt-2\"\n />\n </li>\n <li>Restart Cursor to apply the configuration</li>\n </ol>\n <a\n href=\"https://docs.cursor.com/en/context/mcp\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1 text-sm text-primary hover:underline\"\n >\n View official docs\n <ExternalLinkIcon className=\"h-3 w-3\" />\n </a>\n </TabsContent>\n\n <TabsContent value=\"vscode\" className=\"space-y-3\">\n <Callout type=\"note\" title=\"Requirements\">\n VS Code with GitHub Copilot extension\n </Callout>\n\n <ol>\n <li>\n <span>Create </span>\n <InlineCode>.vscode/mcp.json</InlineCode>\n <span> in your workspace (or user-level mcp.json):</span>\n <SyntaxHighlight\n showLanguageIndicator\n title=\"mcp.json\"\n language=\"json\"\n code={vscodeConfig}\n className=\"mt-2\"\n />\n </li>\n <li>Restart VS Code to apply the configuration</li>\n <li>\n Use MCP tools in GitHub Copilot Chat by selecting Agent mode\n </li>\n </ol>\n <a\n href=\"https://code.visualstudio.com/docs/copilot/chat/mcp-servers\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1 text-sm text-primary hover:underline\"\n >\n View official docs\n <ExternalLinkIcon className=\"h-3 w-3\" />\n </a>\n </TabsContent>\n </Typography>\n </Tabs>\n </div>\n </div>\n </Card>\n );\n};\n","import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { MinusIcon, PlusIcon } from \"lucide-react\";\nimport { useState } from \"react\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport type { SchemaObject } from \"../../oas/graphql/index.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { Item, ItemActions, ItemContent, ItemTitle } from \"../../ui/Item.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport { EnumValues } from \"./components/EnumValues.js\";\nimport type { ParameterItem } from \"./graphql/graphql.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\nimport { ParamInfos } from \"./ParamInfos.js\";\nimport { SchemaExampleAndDefault } from \"./schema/SchemaExampleAndDefault.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\nimport { isArrayType } from \"./schema/utils.js\";\n\nconst getParameterSchema = (parameter: ParameterItem): SchemaObject => {\n if (parameter.schema != null && typeof parameter.schema === \"object\") {\n return parameter.schema;\n }\n return {\n type: \"string\",\n };\n};\n\nexport const ParameterListItem = ({\n parameter,\n group,\n id,\n}: {\n parameter: ParameterItem;\n group: ParameterGroup;\n id: string;\n}) => {\n const paramSchema = getParameterSchema(parameter);\n const [isOpen, setIsOpen] = useState(false);\n\n const isCollapsible =\n paramSchema.type === \"object\" ||\n (isArrayType(paramSchema) &&\n \"items\" in paramSchema &&\n paramSchema.items?.type === \"object\");\n\n const shouldRenderDescription = Boolean(\n parameter.description ||\n paramSchema.description ||\n (paramSchema.type === \"array\" && paramSchema.items?.enum) ||\n paramSchema.enum ||\n paramSchema.example !== undefined ||\n paramSchema.default !== undefined,\n );\n\n return (\n <Item>\n <ItemContent className=\"gap-y-2\">\n <div>\n <ItemTitle className=\"inline me-2\">\n {isCollapsible ? (\n <button\n onClick={() => setIsOpen(!isOpen)}\n type=\"button\"\n className=\"hover:underline\"\n >\n <code>\n {group === \"path\" ? (\n <ColorizedParam\n name={parameter.name}\n backgroundOpacity=\"15%\"\n className=\"px-2\"\n slug={`${id}-${parameter.name}`}\n />\n ) : (\n parameter.name\n )}\n </code>\n </button>\n ) : (\n <code>\n {group === \"path\" ? (\n <ColorizedParam\n name={parameter.name}\n backgroundOpacity=\"15%\"\n className=\"px-2\"\n slug={`${id}-${parameter.name}`}\n />\n ) : (\n parameter.name\n )}\n </code>\n )}\n </ItemTitle>\n <ParamInfos\n className=\"inline\"\n schema={paramSchema}\n extraItems={[\n parameter.required && (\n <span className=\"text-primary\">required</span>\n ),\n parameter.style && `style: ${parameter.style}`,\n parameter.explode && `explode: ${parameter.explode}`,\n ]}\n />\n </div>\n {shouldRenderDescription && (\n <div className=\"flex flex-col gap-1.5\">\n {parameter.description && (\n <Markdown content={parameter.description} className=\"prose-sm\" />\n )}\n {paramSchema.description && (\n <Markdown\n content={paramSchema.description}\n className=\"prose-sm\"\n />\n )}\n {paramSchema.type === \"array\" && paramSchema.items?.enum ? (\n <EnumValues values={paramSchema.items.enum} />\n ) : (\n paramSchema.enum && <EnumValues values={paramSchema.enum} />\n )}\n <SchemaExampleAndDefault schema={paramSchema} />\n </div>\n )}\n </ItemContent>\n\n {isCollapsible && (\n <ItemActions className=\"self-start\">\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"rounded-full\"\n onClick={() => setIsOpen(!isOpen)}\n aria-label=\"Toggle parameter\"\n >\n {isOpen ? <MinusIcon size={16} /> : <PlusIcon size={16} />}\n </Button>\n </ItemActions>\n )}\n\n {isCollapsible && (\n <Collapsible.Root\n defaultOpen={false}\n open={isOpen}\n onOpenChange={setIsOpen}\n className={cn(\"w-full\", !isOpen && \"contents\")}\n >\n <Collapsible.Content asChild>\n <ItemContent>\n <SchemaView\n schema={\n \"items\" in paramSchema ? paramSchema.items : paramSchema\n }\n />\n </ItemContent>\n </Collapsible.Content>\n </Collapsible.Root>\n )}\n </Item>\n );\n};\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { Fragment } from \"react\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Frame, FramePanel } from \"../../ui/Frame.js\";\nimport { ItemGroup, ItemSeparator } from \"../../ui/Item.js\";\nimport type { ParameterItem } from \"./graphql/graphql.js\";\nimport type { ParameterGroup } from \"./OperationListItem.js\";\nimport { ParameterListItem } from \"./ParameterListItem.js\";\n\nexport const ParameterList = ({\n summary,\n group,\n parameters,\n id,\n}: {\n summary?: string;\n group: ParameterGroup;\n parameters: ParameterItem[];\n id: string;\n}) => {\n const sortedParameters = parameters.sort((a, b) =>\n a.required === b.required ? 0 : a.required ? -1 : 1,\n );\n\n return (\n <>\n <Heading\n level={3}\n id={`${id}/${group}-parameters`}\n className=\"capitalize\"\n >\n {summary && <VisuallyHidden>{summary} &rsaquo; </VisuallyHidden>}\n {group === \"header\" ? \"Headers\" : `${group} Parameters`}\n </Heading>\n <Frame>\n <FramePanel className=\"p-0!\">\n <ItemGroup className=\"overflow-clip\">\n {sortedParameters.map((parameter, index) => (\n <Fragment key={`${parameter.name}-${parameter.in}`}>\n {index > 0 && <ItemSeparator />}\n <ParameterListItem\n parameter={parameter}\n id={id}\n group={group}\n />\n </Fragment>\n ))}\n </ItemGroup>\n </FramePanel>\n </Frame>\n </>\n );\n};\n","import { useEffect, useRef, useState } from \"react\";\n\nexport const useOnScreen = <E extends Element = HTMLElement>({\n rootMargin = \"0px\",\n threshold,\n root,\n}: {\n rootMargin?: string;\n threshold?: number;\n root?: Element | null;\n} = {}) => {\n const [isVisible, setIsVisible] = useState(false);\n const ref = useRef<E | null>(null);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (!entry) return;\n setIsVisible(entry.isIntersecting);\n },\n { rootMargin, threshold, root },\n );\n\n const currentElement = ref.current;\n\n if (!currentElement) return;\n\n observer.observe(currentElement);\n\n return () => observer.unobserve(currentElement);\n }, [root, rootMargin, threshold]);\n\n return [ref, isVisible] as const;\n};\n","import { FoldVerticalIcon, UnfoldVerticalIcon } from \"lucide-react\";\nimport { type CSSProperties, type ReactNode, useRef, useState } from \"react\";\nimport { Button } from \"zudoku/ui/Button.js\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport { cn } from \"../../util/cn.js\";\nimport useIsomorphicLayoutEffect from \"../../util/useIsomorphicLayoutEffect.js\";\n\nexport const OverflowOverlay = () => (\n <div className=\"absolute inset-0 bg-linear-to-b from-transparent to-zinc-50/60 dark:to-zinc-950/90 z-10 transition-all group-hover:to-transparent\" />\n);\n\nexport const CollapsibleCode = ({\n children,\n maxHeight = 250,\n}: {\n children: ReactNode;\n maxHeight?: number;\n}) => {\n const contentRef = useRef<HTMLDivElement | null>(null);\n const [isOverflowing, setIsOverflowing] = useState(false);\n const [open, setOpen] = useState(false);\n\n useIsomorphicLayoutEffect(() => {\n const el = contentRef.current;\n if (!el) return;\n\n setIsOverflowing(el.scrollHeight > maxHeight);\n\n const observer = new ResizeObserver(() => {\n setIsOverflowing(el.scrollHeight > maxHeight);\n });\n observer.observe(el);\n\n return () => observer.disconnect();\n }, [maxHeight]);\n\n return (\n <Collapsible\n className=\"group\"\n open={open}\n onOpenChange={setOpen}\n style={{ \"--max-height\": `${maxHeight}px` } as CSSProperties}\n >\n <CollapsibleContent\n forceMount\n className={cn(\n \"relative overflow-hidden group\",\n !open && isOverflowing && \"max-h-(--max-height)\",\n )}\n >\n {!open && isOverflowing && <OverflowOverlay />}\n <div ref={contentRef}>{children}</div>\n {!open && isOverflowing && (\n <CollapsibleTrigger\n className=\"absolute inset-0 grid place-items-center z-10 cursor-pointer peer\"\n asChild\n >\n <div>\n <Button variant=\"outline\" className=\"hidden group-hover:flex\">\n <UnfoldVerticalIcon size={14} className=\"me-1.5\" />\n Click to expand\n </Button>\n </div>\n </CollapsibleTrigger>\n )}\n </CollapsibleContent>\n {isOverflowing && (\n <div\n className={cn(\n \"flex justify-center w-full py-2 bg-muted/50\",\n !open && \"hidden\",\n )}\n >\n <CollapsibleTrigger asChild>\n <Button variant=\"outline\" size=\"sm\">\n Collapse\n <FoldVerticalIcon size={14} className=\"ms-1.5\" />\n </Button>\n </CollapsibleTrigger>\n </div>\n )}\n </Collapsible>\n );\n};\n","import { cn } from \"../../../util/cn.js\";\nimport { OverflowOverlay } from \"../CollapsibleCode.js\";\n\nexport const NonHighlightedCode = ({\n code,\n className,\n}: {\n code: string;\n className?: string;\n}) => (\n <pre\n className={cn(\n \"relative text-(--shiki-light) dark:text-(--shiki-dark) p-2 text-xs font-mono max-h-[250px] leading-4.5 bg-(--shiki-light-bg) dark:bg-(--shiki-dark-bg) overflow-hidden\",\n className,\n )}\n >\n <code>\n {code.split(\"\\n\").length > 13 && <OverflowOverlay />}\n {code}\n </code>\n </pre>\n);\n","import type { PropsWithChildren } from \"react\";\nimport { cn } from \"../../util/cn.js\";\n\ntype BaseComponentProps<T = unknown> = PropsWithChildren<\n T & { className?: string }\n>;\n\nexport const Root = ({ children, className }: BaseComponentProps) => (\n <div\n data-slot=\"sidecar-box-root\"\n className={cn(\n \"relative text-xs flex min-w-0 flex-col rounded-xl border bg-muted/50 bg-clip-padding\",\n \"before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-xl)-1px)] before:shadow-[0_1px_2px_1px_--theme(--color-black/4%)] after:pointer-events-none after:absolute after:-inset-[5px] after:-z-1 after:rounded-[calc(var(--radius-xl)+4px)] after:border after:border-border/50 after:bg-clip-padding **:data-[slot=particle-wrapper]:w-full **:data-[slot=particle-wrapper]:max-w-64 lg:col-span-1 dark:after:bg-background/72\",\n className,\n )}\n >\n {children}\n </div>\n);\n\nexport const Head = ({ children, className }: BaseComponentProps) => (\n <div\n data-slot=\"sidecar-box-head\"\n className={cn(\n \"flex items-center gap-3 rounded-b-xl p-2.5 data-[slot=head]:rounded-b-none\",\n className,\n )}\n >\n {children}\n </div>\n);\n\nexport const Body = ({ children, className }: BaseComponentProps) => (\n <div\n data-slot=\"sidecar-box-body\"\n className={cn(\n \"overflow-auto -m-px flex min-w-0 flex-1 flex-col overflow-x-auto rounded-t-xl border bg-background\",\n \"rounded-b last:rounded-b-xl\",\n \"before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-xl)-1px)] dark:before:shadow-[0_-1px_--theme(--color-white/8%)]\",\n className,\n )}\n >\n {children}\n </div>\n);\n\nexport const Footer = ({ children, className }: BaseComponentProps) => (\n <div\n data-slot=\"sidecar-box-footer\"\n className={cn(\n \"p-2 rounded-b-xl data-[slot=sidecar-box-footer]:rounded-b-none\",\n className,\n )}\n >\n {children}\n </div>\n);\n","import { InfoIcon } from \"lucide-react\";\nimport { SyntaxHighlight } from \"zudoku/ui/SyntaxHighlight.js\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"zudoku/ui/Tooltip.js\";\nimport { NonHighlightedCode } from \"./components/NonHighlightedCode.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\n\nexport const GeneratedExampleSidecarBox = ({\n code,\n isOnScreen,\n shouldLazyHighlight,\n}: {\n code: string;\n isOnScreen: boolean;\n shouldLazyHighlight?: boolean;\n}) => {\n return (\n <SidecarBox.Root>\n <SidecarBox.Head className=\"text-xs flex justify-between items-center\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"font-medium\">Example Request Body</span>\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon size={13} />\n </TooltipTrigger>\n <TooltipContent>\n This example is auto-generated from the schema.\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n </div>\n </SidecarBox.Head>\n <SidecarBox.Body className=\"p-0\">\n {shouldLazyHighlight && !isOnScreen ? (\n <NonHighlightedCode code={code} />\n ) : (\n <SyntaxHighlight\n embedded\n language=\"json\"\n code={code}\n className=\"[--scrollbar-color:gray] rounded-none text-xs max-h-[200px]\"\n />\n )}\n </SidecarBox.Body>\n </SidecarBox.Root>\n );\n};\n","import type {\n MediaTypeObject,\n OperationsFragmentFragment,\n} from \"./graphql/graphql.js\";\nimport { PlaygroundDialog } from \"./playground/PlaygroundDialog.js\";\n\nexport const PlaygroundDialogWrapper = ({\n server,\n servers,\n operation,\n examples,\n}: {\n server?: string;\n servers?: string[];\n operation: OperationsFragmentFragment;\n examples?: MediaTypeObject[];\n}) => {\n const headers = operation.parameters\n ?.filter((p) => p.in === \"header\")\n .sort((a, b) => (a.required && !b.required ? -1 : 1))\n .map((p) => ({\n name: p.name,\n defaultValue:\n p.schema?.default ?? p.examples?.find((x) => x.value)?.value ?? \"\",\n defaultActive: p.required ?? false,\n isRequired: p.required ?? false,\n enum: p.schema?.type === \"array\" ? p.schema?.items?.enum : p.schema?.enum,\n type: p.schema?.type ?? \"string\",\n }));\n\n const queryParams = operation.parameters\n ?.filter((p) => p.in === \"query\")\n .sort((a, b) => (a.required && !b.required ? -1 : 1))\n .map((p) => ({\n name: p.name,\n defaultActive: p.required ?? false,\n isRequired: p.required ?? false,\n enum: p.schema?.type === \"array\" ? p.schema?.items?.enum : p.schema?.enum,\n type: p.schema?.type ?? \"string\",\n defaultValue: p.schema?.default,\n }));\n\n const pathParams = operation.parameters\n ?.filter((p) => p.in === \"path\")\n .map((p) => ({\n name: p.name,\n defaultValue: p.schema?.default,\n }));\n\n return (\n <PlaygroundDialog\n server={server}\n servers={servers}\n method={operation.method}\n url={operation.path}\n headers={headers}\n queryParams={queryParams}\n pathParams={pathParams}\n examples={examples}\n />\n );\n};\n","import { ExternalLinkIcon } from \"lucide-react\";\nimport { Badge } from \"zudoku/ui/Badge.js\";\nimport { NativeSelect, NativeSelectOption } from \"zudoku/ui/NativeSelect.js\";\nimport { SyntaxHighlight } from \"../../ui/SyntaxHighlight.js\";\nimport { NonHighlightedCode } from \"./components/NonHighlightedCode.js\";\nimport type { MediaTypeObject } from \"./graphql/graphql.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\n\nconst formatForDisplay = (value: unknown): string | undefined => {\n if (value == null) return;\n if (typeof value === \"string\") return value.trim();\n return JSON.stringify(value, null, 2);\n};\n\nconst getLanguage = (mediaType?: string): string => {\n if (!mediaType) return \"plain\";\n if (mediaType.endsWith(\"+json\")) return \"json\";\n if (mediaType.endsWith(\"+xml\")) return \"xml\";\n if (mediaType.endsWith(\"+yaml\")) return \"yaml\";\n\n const languages: Record<string, string> = {\n \"text/html\": \"html\",\n \"application/x-ndjson\": \"json\",\n \"application/json\": \"json\",\n \"application/xml\": \"xml\",\n \"application/x-yaml\": \"yaml\",\n \"text/csv\": \"csv\",\n \"application/javascript\": \"javascript\",\n \"application/graphql\": \"graphql\",\n };\n return languages[mediaType] ?? \"plain\";\n};\n\nexport type SidecarExamplesProps = {\n content: MediaTypeObject[];\n description?: string;\n selectedContentIndex: number;\n selectedExampleIndex: number;\n onExampleChange?: ({\n contentTypeIndex,\n exampleIndex,\n }: {\n contentTypeIndex: number;\n exampleIndex: number;\n }) => void;\n isOnScreen: boolean;\n shouldLazyHighlight?: boolean;\n};\n\nexport const SidecarExamples = ({\n content,\n description,\n onExampleChange,\n selectedContentIndex,\n selectedExampleIndex,\n isOnScreen,\n shouldLazyHighlight,\n}: SidecarExamplesProps) => {\n // Get example value, with fallback to schema-generated example\n const selectedContent = content[selectedContentIndex];\n const examples = selectedContent?.examples ?? [];\n const selectedExample = examples?.[selectedExampleIndex];\n\n const formattedExample = formatForDisplay(selectedExample?.value);\n const language = getLanguage(selectedContent?.mediaType);\n\n return (\n <>\n <SidecarBox.Body className=\"p-0\">\n {selectedExample?.externalValue ? (\n <div className=\"p-4\">\n <a\n href={selectedExample.externalValue}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-xs text-primary hover:underline\"\n >\n View External Example\n <ExternalLinkIcon className=\"size-3 inline-block ms-1 align-[-0.125em]\" />\n </a>\n </div>\n ) : shouldLazyHighlight && !isOnScreen && formattedExample ? (\n <NonHighlightedCode code={formattedExample} />\n ) : formattedExample ? (\n <SyntaxHighlight\n embedded\n language={language}\n className=\"[--scrollbar-color:gray] rounded-none max-h-[200px] text-xs overflow-auto\"\n code={formattedExample}\n />\n ) : (\n <div className=\"grid place-items-center text-xs text-muted-foreground min-h-18\">\n No example specified for this content type\n </div>\n )}\n {selectedExample?.description && (\n <div className=\"border-t text-xs px-3 py-1.5 text-muted-foreground\">\n {selectedExample.description}\n </div>\n )}\n </SidecarBox.Body>\n <SidecarBox.Footer className=\"text-xs\">\n {description && (\n <div className=\"text-muted-foreground text-xs px-1 py-2\">\n {description}\n </div>\n )}\n {(examples.length !== 0 || content.length !== 0) && (\n <div className=\"flex items-center gap-2 justify-between min-w-0\">\n <div className=\"flex items-center gap-2 flex-wrap\">\n {content.length > 1 ? (\n <NativeSelect\n className=\"text-xs h-fit py-1 truncate bg-background\"\n value={selectedContentIndex.toString()}\n onChange={(e) =>\n onExampleChange?.({\n contentTypeIndex: Number(e.target.value),\n exampleIndex: 0,\n })\n }\n >\n {content.map((c, index) => (\n <NativeSelectOption\n key={c.mediaType}\n value={index.toString()}\n >\n {c.mediaType}\n </NativeSelectOption>\n ))}\n </NativeSelect>\n ) : (\n <Badge\n className=\"text-[11px] font-mono font-normal\"\n variant=\"outline\"\n >\n {content[0]?.mediaType}\n </Badge>\n )}\n </div>\n {examples.length > 1 && (\n <NativeSelect\n className=\"text-xs h-fit py-1 truncate bg-background\"\n value={selectedExampleIndex.toString()}\n onChange={(e) =>\n onExampleChange?.({\n contentTypeIndex: selectedContentIndex,\n exampleIndex: Number(e.target.value),\n })\n }\n >\n {examples.map((example, index) => (\n <NativeSelectOption\n key={\n example.summary ||\n example.name ||\n example.description ||\n `Example ${index + 1}`\n }\n value={index.toString()}\n >\n {example.summary ||\n example.name ||\n example.description ||\n `Example ${index + 1}`}\n </NativeSelectOption>\n ))}\n </NativeSelect>\n )}\n </div>\n )}\n </SidecarBox.Footer>\n </>\n );\n};\n","import { ChevronsDownUpIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport { Button } from \"zudoku/components\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport type { MediaTypeObject } from \"./graphql/graphql.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\nimport { SidecarExamples } from \"./SidecarExamples.js\";\n\nexport const RequestBodySidecarBox = ({\n content,\n onExampleChange,\n isOnScreen,\n shouldLazyHighlight,\n selectedContentIndex,\n selectedExampleIndex,\n}: {\n content: MediaTypeObject[];\n onExampleChange?: (selected: {\n contentTypeIndex: number;\n exampleIndex: number;\n }) => void;\n isOnScreen: boolean;\n shouldLazyHighlight?: boolean;\n selectedContentIndex: number;\n selectedExampleIndex: number;\n}) => {\n if (content.length === 0) return null;\n\n return (\n <Collapsible className=\"group/collapsible\" defaultOpen>\n <SidecarBox.Root>\n <SidecarBox.Head className=\"text-xs flex justify-between items-center\">\n <span className=\"flex items-center gap-1 font-medium\">\n <CollapsibleTrigger asChild>\n <Button\n variant=\"ghost\"\n className=\"size-fit px-1 py-1 -my-1\"\n aria-label=\"Toggle request body examples\"\n >\n <ChevronsDownUpIcon className=\"size-[1em] group-data-[state=closed]/collapsible:hidden\" />\n <ChevronsUpDownIcon className=\"size-[1em] group-data-[state=open]/collapsible:hidden\" />\n </Button>\n </CollapsibleTrigger>\n Example Request Body\n </span>\n </SidecarBox.Head>\n <CollapsibleContent>\n <SidecarExamples\n selectedContentIndex={selectedContentIndex}\n selectedExampleIndex={selectedExampleIndex}\n content={content}\n onExampleChange={onExampleChange}\n isOnScreen={isOnScreen}\n shouldLazyHighlight={shouldLazyHighlight}\n />\n </CollapsibleContent>\n </SidecarBox.Root>\n </Collapsible>\n );\n};\n","import { ChevronsDownUpIcon, ChevronsUpDownIcon, InfoIcon } from \"lucide-react\";\nimport { useEffect, useState } from \"react\";\nimport { Button } from \"zudoku/components\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport { NativeSelect, NativeSelectOption } from \"zudoku/ui/NativeSelect.js\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"zudoku/ui/Tooltip.js\";\nimport type { ResponseItem } from \"./graphql/graphql.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\nimport { SidecarExamples } from \"./SidecarExamples.js\";\n\nexport const ResponsesSidecarBox = ({\n responses,\n selectedResponse,\n isOnScreen,\n shouldLazyHighlight,\n isGenerated,\n}: {\n responses: ResponseItem[];\n selectedResponse?: string;\n isOnScreen: boolean;\n shouldLazyHighlight?: boolean;\n isGenerated?: boolean;\n}) => {\n const [internalSelectedResponse, setInternalSelectedResponse] = useState(\n selectedResponse ?? responses[0]?.statusCode,\n );\n const [selectedContentIndex, setSelectedContentIndex] = useState(0);\n const [selectedExampleIndex, setSelectedExampleIndex] = useState(0);\n\n useEffect(() => {\n if (!selectedResponse) return;\n\n setInternalSelectedResponse(selectedResponse);\n }, [selectedResponse]);\n\n useEffect(() => {\n if (!internalSelectedResponse) return;\n\n setSelectedContentIndex(0);\n setSelectedExampleIndex(0);\n }, [internalSelectedResponse]);\n\n return (\n <Collapsible className=\"group/collapsible\" defaultOpen>\n <SidecarBox.Root>\n <SidecarBox.Head className=\"text-xs flex justify-between items-center\">\n <div className=\"flex items-center gap-1 font-medium shrink-0\">\n <CollapsibleTrigger asChild>\n <Button\n variant=\"ghost\"\n className=\"size-fit px-1 py-1 -my-1\"\n aria-label=\"Toggle response examples\"\n >\n <ChevronsDownUpIcon className=\"size-[1em] group-data-[state=closed]/collapsible:hidden\" />\n <ChevronsUpDownIcon className=\"size-[1em] group-data-[state=open]/collapsible:hidden\" />\n </Button>\n </CollapsibleTrigger>\n Example Responses\n {isGenerated && (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <InfoIcon size={13} />\n </TooltipTrigger>\n <TooltipContent>\n This example is auto-generated from the schema.\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n <div className=\"group-data-[state=closed]/collapsible:invisible\">\n <NativeSelect\n className=\"text-xs h-fit py-1 -my-1 bg-background\"\n value={internalSelectedResponse}\n onChange={(e) => setInternalSelectedResponse(e.target.value)}\n >\n {responses.map((response) => (\n <NativeSelectOption\n key={response.statusCode}\n value={response.statusCode}\n >\n {response.statusCode}\n </NativeSelectOption>\n ))}\n </NativeSelect>\n </div>\n </SidecarBox.Head>\n <CollapsibleContent>\n <SidecarExamples\n selectedContentIndex={selectedContentIndex}\n selectedExampleIndex={selectedExampleIndex}\n onExampleChange={(selected) => {\n setSelectedContentIndex(selected.contentTypeIndex);\n setSelectedExampleIndex(selected.exampleIndex);\n }}\n content={\n responses.find((r) => r.statusCode === internalSelectedResponse)\n ?.content ?? []\n }\n isOnScreen={isOnScreen}\n shouldLazyHighlight={shouldLazyHighlight}\n />\n </CollapsibleContent>\n </SidecarBox.Root>\n </Collapsible>\n );\n};\n","// src/helpers/reducer.ts\nvar reducer = (accumulator, pair) => {\n const currentValue = accumulator[pair.name];\n if (currentValue === void 0) {\n accumulator[pair.name] = pair.value;\n return accumulator;\n }\n if (Array.isArray(currentValue)) {\n currentValue.push(pair.value);\n return accumulator;\n }\n accumulator[pair.name] = [currentValue, pair.value];\n return accumulator;\n};\n\nexport { reducer };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-7LT4AZED.js.map","// src/helpers/code-builder.ts\nvar DEFAULT_INDENTATION_CHARACTER = \"\";\nvar DEFAULT_LINE_JOIN = \"\\n\";\nvar CodeBuilder = class {\n /**\n * Helper object to format and aggragate lines of code.\n * Lines are aggregated in a `code` array, and need to be joined to obtain a proper code snippet.\n */\n constructor({ indent, join } = {}) {\n this.postProcessors = [];\n this.code = [];\n this.indentationCharacter = DEFAULT_INDENTATION_CHARACTER;\n this.lineJoin = DEFAULT_LINE_JOIN;\n /**\n * Add given indentation level to given line of code\n */\n this.indentLine = (line, indentationLevel = 0) => {\n const indent = this.indentationCharacter.repeat(indentationLevel);\n return `${indent}${line}`;\n };\n /**\n * Add the line at the beginning of the current lines\n */\n this.unshift = (line, indentationLevel) => {\n const newLine = this.indentLine(line, indentationLevel);\n this.code.unshift(newLine);\n };\n /**\n * Add the line at the end of the current lines\n */\n this.push = (line, indentationLevel) => {\n const newLine = this.indentLine(line, indentationLevel);\n this.code.push(newLine);\n };\n /**\n * Add an empty line at the end of current lines\n */\n this.blank = () => {\n this.code.push(\"\");\n };\n /**\n * Concatenate all current lines using the given lineJoin, then apply any replacers that may have been added\n */\n this.join = () => {\n const unreplacedCode = this.code.join(this.lineJoin);\n const replacedOutput = this.postProcessors.reduce((accumulator, replacer) => replacer(accumulator), unreplacedCode);\n return replacedOutput;\n };\n /**\n * Often when writing modules you may wish to add a literal tag or bit of metadata that you wish to transform after other processing as a final step.\n * To do so, you can provide a PostProcessor function and it will be run automatically for you when you call `join()` later on.\n */\n this.addPostProcessor = (postProcessor) => {\n this.postProcessors = [...this.postProcessors, postProcessor];\n };\n this.indentationCharacter = indent || DEFAULT_INDENTATION_CHARACTER;\n this.lineJoin = join ?? DEFAULT_LINE_JOIN;\n }\n};\n\nexport { CodeBuilder };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-UPA5TN5W.js.map","'use strict';\nmodule.exports = function (re) {\n\treturn Object.prototype.toString.call(re) === '[object RegExp]';\n};\n","'use strict';\nmodule.exports = function (x) {\n\tvar type = typeof x;\n\treturn x !== null && (type === 'object' || type === 'function');\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (object) => Object\n .getOwnPropertySymbols(object)\n .filter((keySymbol) => Object.prototype.propertyIsEnumerable.call(object, keySymbol));\n//# sourceMappingURL=index.js.map","'use strict';\nconst isRegexp = require('is-regexp');\nconst isObj = require('is-obj');\nconst getOwnEnumPropSymbols = require('get-own-enumerable-property-symbols').default;\n\nmodule.exports = (val, opts, pad) => {\n\tconst seen = [];\n\n\treturn (function stringify(val, opts, pad) {\n\t\topts = opts || {};\n\t\topts.indent = opts.indent || '\\t';\n\t\tpad = pad || '';\n\n\t\tlet tokens;\n\n\t\tif (opts.inlineCharacterLimit === undefined) {\n\t\t\ttokens = {\n\t\t\t\tnewLine: '\\n',\n\t\t\t\tnewLineOrSpace: '\\n',\n\t\t\t\tpad,\n\t\t\t\tindent: pad + opts.indent\n\t\t\t};\n\t\t} else {\n\t\t\ttokens = {\n\t\t\t\tnewLine: '@@__STRINGIFY_OBJECT_NEW_LINE__@@',\n\t\t\t\tnewLineOrSpace: '@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@',\n\t\t\t\tpad: '@@__STRINGIFY_OBJECT_PAD__@@',\n\t\t\t\tindent: '@@__STRINGIFY_OBJECT_INDENT__@@'\n\t\t\t};\n\t\t}\n\n\t\tconst expandWhiteSpace = string => {\n\t\t\tif (opts.inlineCharacterLimit === undefined) {\n\t\t\t\treturn string;\n\t\t\t}\n\n\t\t\tconst oneLined = string\n\t\t\t\t.replace(new RegExp(tokens.newLine, 'g'), '')\n\t\t\t\t.replace(new RegExp(tokens.newLineOrSpace, 'g'), ' ')\n\t\t\t\t.replace(new RegExp(tokens.pad + '|' + tokens.indent, 'g'), '');\n\n\t\t\tif (oneLined.length <= opts.inlineCharacterLimit) {\n\t\t\t\treturn oneLined;\n\t\t\t}\n\n\t\t\treturn string\n\t\t\t\t.replace(new RegExp(tokens.newLine + '|' + tokens.newLineOrSpace, 'g'), '\\n')\n\t\t\t\t.replace(new RegExp(tokens.pad, 'g'), pad)\n\t\t\t\t.replace(new RegExp(tokens.indent, 'g'), pad + opts.indent);\n\t\t};\n\n\t\tif (seen.indexOf(val) !== -1) {\n\t\t\treturn '\"[Circular]\"';\n\t\t}\n\n\t\tif (val === null ||\n\t\t\tval === undefined ||\n\t\t\ttypeof val === 'number' ||\n\t\t\ttypeof val === 'boolean' ||\n\t\t\ttypeof val === 'function' ||\n\t\t\ttypeof val === 'symbol' ||\n\t\t\tisRegexp(val)) {\n\t\t\treturn String(val);\n\t\t}\n\n\t\tif (val instanceof Date) {\n\t\t\treturn `new Date('${val.toISOString()}')`;\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tif (val.length === 0) {\n\t\t\t\treturn '[]';\n\t\t\t}\n\n\t\t\tseen.push(val);\n\n\t\t\tconst ret = '[' + tokens.newLine + val.map((el, i) => {\n\t\t\t\tconst eol = val.length - 1 === i ? tokens.newLine : ',' + tokens.newLineOrSpace;\n\t\t\t\tlet value = stringify(el, opts, pad + opts.indent);\n\t\t\t\tif (opts.transform) {\n\t\t\t\t\tvalue = opts.transform(val, i, value);\n\t\t\t\t}\n\t\t\t\treturn tokens.indent + value + eol;\n\t\t\t}).join('') + tokens.pad + ']';\n\n\t\t\tseen.pop();\n\n\t\t\treturn expandWhiteSpace(ret);\n\t\t}\n\n\t\tif (isObj(val)) {\n\t\t\tlet objKeys = Object.keys(val).concat(getOwnEnumPropSymbols(val));\n\n\t\t\tif (opts.filter) {\n\t\t\t\tobjKeys = objKeys.filter(el => opts.filter(val, el));\n\t\t\t}\n\n\t\t\tif (objKeys.length === 0) {\n\t\t\t\treturn '{}';\n\t\t\t}\n\n\t\t\tseen.push(val);\n\n\t\t\tconst ret = '{' + tokens.newLine + objKeys.map((el, i) => {\n\t\t\t\tconst eol = objKeys.length - 1 === i ? tokens.newLine : ',' + tokens.newLineOrSpace;\n\t\t\t\tconst isSymbol = typeof el === 'symbol';\n\t\t\t\tconst isClassic = !isSymbol && /^[a-z$_][a-z$_0-9]*$/i.test(el);\n\t\t\t\tconst key = isSymbol || isClassic ? el : stringify(el, opts);\n\t\t\t\tlet value = stringify(val[el], opts, pad + opts.indent);\n\t\t\t\tif (opts.transform) {\n\t\t\t\t\tvalue = opts.transform(val, el, value);\n\t\t\t\t}\n\t\t\t\treturn tokens.indent + String(key) + ': ' + value + eol;\n\t\t\t}).join('') + tokens.pad + '}';\n\n\t\t\tseen.pop();\n\n\t\t\treturn expandWhiteSpace(ret);\n\t\t}\n\n\t\tval = String(val).replace(/[\\r\\n]/g, x => x === '\\n' ? '\\\\n' : '\\\\r');\n\n\t\tif (opts.singleQuotes === false) {\n\t\t\tval = val.replace(/\"/g, '\\\\\"');\n\t\t\treturn `\"${val}\"`;\n\t\t}\n\n\t\tval = val.replace(/\\\\?'/g, '\\\\\\'');\n\t\treturn `'${val}'`;\n\t})(val, opts, pad);\n};\n","import { CodeBuilder } from './chunk-UPA5TN5W.js';\nimport stringifyObject9 from 'stringify-object';\n\n// src/helpers/escape.ts\nfunction escapeString(rawValue, options = {}) {\n const { delimiter = '\"', escapeChar = \"\\\\\", escapeNewlines = true } = options;\n const stringValue = rawValue.toString();\n return [...stringValue].map((c2) => {\n if (c2 === \"\\b\") {\n return `${escapeChar}b`;\n } else if (c2 === \"\t\") {\n return `${escapeChar}t`;\n } else if (c2 === \"\\n\") {\n if (escapeNewlines) {\n return `${escapeChar}n`;\n }\n return c2;\n } else if (c2 === \"\\f\") {\n return `${escapeChar}f`;\n } else if (c2 === \"\\r\") {\n if (escapeNewlines) {\n return `${escapeChar}r`;\n }\n return c2;\n } else if (c2 === escapeChar) {\n return escapeChar + escapeChar;\n } else if (c2 === delimiter) {\n return escapeChar + delimiter;\n } else if (c2 < \" \" || c2 > \"~\") {\n return JSON.stringify(c2).slice(1, -1);\n }\n return c2;\n }).join(\"\");\n}\nvar escapeForSingleQuotes = (value) => escapeString(value, { delimiter: \"'\" });\nvar escapeForDoubleQuotes = (value) => escapeString(value, { delimiter: '\"' });\n\n// src/targets/c/libcurl/client.ts\nvar libcurl = {\n info: {\n key: \"libcurl\",\n title: \"Libcurl\",\n link: \"http://curl.haxx.se/libcurl\",\n description: \"Simple REST and HTTP API Client for C\",\n extname: \".c\"\n },\n convert: ({ method, fullUrl, headersObj, allHeaders, postData }) => {\n const { push, blank, join } = new CodeBuilder();\n push(\"CURL *hnd = curl_easy_init();\");\n blank();\n push(`curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"${method.toUpperCase()}\");`);\n push(\"curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);\");\n push(`curl_easy_setopt(hnd, CURLOPT_URL, \"${fullUrl}\");`);\n const headers = Object.keys(headersObj);\n if (headers.length) {\n blank();\n push(\"struct curl_slist *headers = NULL;\");\n headers.forEach((header) => {\n push(`headers = curl_slist_append(headers, \"${header}: ${escapeForDoubleQuotes(headersObj[header])}\");`);\n });\n push(\"curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\");\n }\n if (allHeaders.cookie) {\n blank();\n push(`curl_easy_setopt(hnd, CURLOPT_COOKIE, \"${allHeaders.cookie}\");`);\n }\n if (postData.text) {\n blank();\n push(`curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, ${JSON.stringify(postData.text)});`);\n }\n blank();\n push(\"CURLcode ret = curl_easy_perform(hnd);\");\n return join();\n }\n};\n\n// src/targets/c/target.ts\nvar c = {\n info: {\n key: \"c\",\n title: \"C\",\n default: \"libcurl\",\n cli: \"c\"\n },\n clientsById: {\n libcurl\n }\n};\n\n// src/helpers/headers.ts\nvar getHeaderName = (headers, name) => Object.keys(headers).find((header) => header.toLowerCase() === name.toLowerCase());\nvar getHeader = (headers, name) => {\n const headerName = getHeaderName(headers, name);\n if (!headerName) {\n return void 0;\n }\n return headers[headerName];\n};\nvar hasHeader = (headers, name) => Boolean(getHeaderName(headers, name));\nvar isMimeTypeJSON = (mimeType) => [\"application/json\", \"application/x-json\", \"text/json\", \"text/x-json\", \"+json\"].some(\n (type) => mimeType.indexOf(type) > -1\n);\n\n// src/targets/clojure/clj_http/client.ts\nvar Keyword = class {\n constructor(name) {\n this.name = \"\";\n this.toString = () => `:${this.name}`;\n this.name = name;\n }\n};\nvar File = class {\n constructor(path) {\n this.path = \"\";\n this.toString = () => `(clojure.java.io/file \"${this.path}\")`;\n this.path = path;\n }\n};\nvar jsType = (input) => {\n if (input === void 0) {\n return null;\n }\n if (input === null) {\n return \"null\";\n }\n return input.constructor.name.toLowerCase();\n};\nvar objEmpty = (input) => {\n if (input === void 0) {\n return true;\n } else if (jsType(input) === \"object\") {\n return Object.keys(input).length === 0;\n }\n return false;\n};\nvar filterEmpty = (input) => {\n Object.keys(input).filter((x) => objEmpty(input[x])).forEach((x) => {\n delete input[x];\n });\n return input;\n};\nvar padBlock = (padSize, input) => {\n const padding = \" \".repeat(padSize);\n return input.replace(/\\n/g, `\n${padding}`);\n};\nvar jsToEdn = (js) => {\n switch (jsType(js)) {\n case \"string\":\n return `\"${js.replace(/\"/g, '\\\\\"')}\"`;\n case \"file\":\n return js.toString();\n case \"keyword\":\n return js.toString();\n case \"null\":\n return \"nil\";\n case \"regexp\":\n return `#\"${js.source}\"`;\n case \"object\": {\n const obj = Object.keys(js).reduce((accumulator, key) => {\n const val = padBlock(key.length + 2, jsToEdn(js[key]));\n return `${accumulator}:${key} ${val}\n `;\n }, \"\").trim();\n return `{${padBlock(1, obj)}}`;\n }\n case \"array\": {\n const arr = js.reduce((accumulator, value) => `${accumulator} ${jsToEdn(value)}`, \"\").trim();\n return `[${padBlock(1, arr)}]`;\n }\n default:\n return js.toString();\n }\n};\nvar clj_http = {\n info: {\n key: \"clj_http\",\n title: \"clj-http\",\n link: \"https://github.com/dakrone/clj-http\",\n description: \"An idiomatic clojure http client wrapping the apache client.\",\n extname: \".clj\"\n },\n convert: ({ queryObj, method, postData, url, allHeaders }, options) => {\n const { push, join } = new CodeBuilder({ indent: options?.indent });\n const methods = [\"get\", \"post\", \"put\", \"delete\", \"patch\", \"head\", \"options\"];\n method = method.toLowerCase();\n if (!methods.includes(method)) {\n push(\"Method not supported\");\n return join();\n }\n const params2 = {\n headers: allHeaders,\n \"query-params\": queryObj\n };\n switch (postData.mimeType) {\n case \"application/json\":\n {\n params2[\"content-type\"] = new Keyword(\"json\");\n params2[\"form-params\"] = postData.jsonObj;\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n case \"application/x-www-form-urlencoded\":\n {\n params2[\"form-params\"] = postData.paramsObj;\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n case \"text/plain\":\n {\n params2.body = postData.text;\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n case \"multipart/form-data\": {\n if (postData.params) {\n params2.multipart = postData.params.map((param) => {\n if (param.fileName && !param.value) {\n return {\n name: param.name,\n content: new File(param.fileName)\n };\n }\n return {\n name: param.name,\n content: param.value\n };\n });\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n }\n }\n switch (getHeader(params2.headers, \"accept\")) {\n case \"application/json\":\n {\n params2.accept = new Keyword(\"json\");\n const header = getHeaderName(params2.headers, \"accept\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n }\n push(\"(require '[clj-http.client :as client])\\n\");\n if (objEmpty(filterEmpty(params2))) {\n push(`(client/${method} \"${url}\")`);\n } else {\n const padding = 11 + method.length + url.length;\n const formattedParams = padBlock(padding, jsToEdn(filterEmpty(params2)));\n push(`(client/${method} \"${url}\" ${formattedParams})`);\n }\n return join();\n }\n};\n\n// src/targets/clojure/target.ts\nvar clojure = {\n info: {\n key: \"clojure\",\n title: \"Clojure\",\n default: \"clj_http\"\n },\n clientsById: {\n clj_http\n }\n};\n\n// src/targets/csharp/httpclient/client.ts\nvar getDecompressionMethods = (allHeaders) => {\n let acceptEncodings = getHeader(allHeaders, \"accept-encoding\");\n if (!acceptEncodings) {\n return [];\n }\n const supportedMethods2 = {\n gzip: \"DecompressionMethods.GZip\",\n deflate: \"DecompressionMethods.Deflate\"\n };\n const methods = [];\n if (typeof acceptEncodings === \"string\") {\n acceptEncodings = [acceptEncodings];\n }\n acceptEncodings.forEach((acceptEncoding) => {\n acceptEncoding.split(\",\").forEach((encoding) => {\n const match = /\\s*([^;\\s]+)/.exec(encoding);\n if (match) {\n const method = supportedMethods2[match[1]];\n if (method) {\n methods.push(method);\n }\n }\n });\n });\n return methods;\n};\nvar httpclient = {\n info: {\n key: \"httpclient\",\n title: \"HttpClient\",\n link: \"https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient\",\n description: \".NET Standard HTTP Client\",\n extname: \".cs\"\n },\n convert: ({ allHeaders, postData, method, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { push, join } = new CodeBuilder({ indent: opts.indent });\n push(\"using System.Net.Http.Headers;\");\n let clienthandler = \"\";\n const cookies = Boolean(allHeaders.cookie);\n const decompressionMethods = getDecompressionMethods(allHeaders);\n if (cookies || decompressionMethods.length) {\n clienthandler = \"clientHandler\";\n push(\"var clientHandler = new HttpClientHandler\");\n push(\"{\");\n if (cookies) {\n push(\"UseCookies = false,\", 1);\n }\n if (decompressionMethods.length) {\n push(`AutomaticDecompression = ${decompressionMethods.join(\" | \")},`, 1);\n }\n push(\"};\");\n }\n push(`var client = new HttpClient(${clienthandler});`);\n push(\"var request = new HttpRequestMessage\");\n push(\"{\");\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\", \"TRACE\"];\n method = method.toUpperCase();\n if (method && methods.includes(method)) {\n method = `HttpMethod.${method[0]}${method.substring(1).toLowerCase()}`;\n } else {\n method = `new HttpMethod(\"${method}\")`;\n }\n push(`Method = ${method},`, 1);\n push(`RequestUri = new Uri(\"${fullUrl}\"),`, 1);\n const headers = Object.keys(allHeaders).filter((header) => {\n switch (header.toLowerCase()) {\n case \"content-type\":\n case \"content-length\":\n case \"accept-encoding\":\n return false;\n default:\n return true;\n }\n });\n if (headers.length) {\n push(\"Headers =\", 1);\n push(\"{\", 1);\n headers.forEach((key) => {\n push(`{ \"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\" },`, 2);\n });\n push(\"},\", 1);\n }\n if (postData.text) {\n const contentType = postData.mimeType;\n switch (contentType) {\n case \"application/x-www-form-urlencoded\":\n push(\"Content = new FormUrlEncodedContent(new Dictionary<string, string>\", 1);\n push(\"{\", 1);\n postData.params?.forEach((param) => {\n push(`{ \"${param.name}\", \"${param.value}\" },`, 2);\n });\n push(\"}),\", 1);\n break;\n case \"multipart/form-data\":\n push(\"Content = new MultipartFormDataContent\", 1);\n push(\"{\", 1);\n postData.params?.forEach((param) => {\n push(`new StringContent(${JSON.stringify(param.value || \"\")})`, 2);\n push(\"{\", 2);\n push(\"Headers =\", 3);\n push(\"{\", 3);\n if (param.contentType) {\n push(`ContentType = new MediaTypeHeaderValue(\"${param.contentType}\"),`, 4);\n }\n push('ContentDisposition = new ContentDispositionHeaderValue(\"form-data\")', 4);\n push(\"{\", 4);\n push(`Name = \"${param.name}\",`, 5);\n if (param.fileName) {\n push(`FileName = \"${param.fileName}\",`, 5);\n }\n push(\"}\", 4);\n push(\"}\", 3);\n push(\"},\", 2);\n });\n push(\"},\", 1);\n break;\n default:\n push(`Content = new StringContent(${JSON.stringify(postData.text || \"\")})`, 1);\n push(\"{\", 1);\n push(\"Headers =\", 2);\n push(\"{\", 2);\n push(`ContentType = new MediaTypeHeaderValue(\"${contentType}\")`, 3);\n push(\"}\", 2);\n push(\"}\", 1);\n break;\n }\n }\n push(\"};\");\n push(\"using (var response = await client.SendAsync(request))\");\n push(\"{\");\n push(\"response.EnsureSuccessStatusCode();\", 1);\n push(\"var body = await response.Content.ReadAsStringAsync();\", 1);\n push(\"Console.WriteLine(body);\", 1);\n push(\"}\");\n return join();\n }\n};\n\n// src/targets/csharp/restsharp/client.ts\nfunction title(s) {\n return s[0].toUpperCase() + s.slice(1).toLowerCase();\n}\nvar restsharp = {\n info: {\n key: \"restsharp\",\n title: \"RestSharp\",\n link: \"http://restsharp.org/\",\n description: \"Simple REST and HTTP API Client for .NET\",\n extname: \".cs\",\n installation: \"dotnet add package RestSharp\"\n },\n convert: ({ method, fullUrl, headersObj, cookies, postData, uriObj }) => {\n const { push, join } = new CodeBuilder();\n const isSupportedMethod = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\"].includes(\n method.toUpperCase()\n );\n if (!isSupportedMethod) {\n return \"Method not supported\";\n }\n push(\"using RestSharp;\\n\\n\");\n push(`var options = new RestClientOptions(\"${fullUrl}\");`);\n push(\"var client = new RestClient(options);\");\n push('var request = new RestRequest(\"\");');\n const isMultipart = postData.mimeType && postData.mimeType === \"multipart/form-data\";\n if (isMultipart) {\n push(\"request.AlwaysMultipartFormData = true;\");\n }\n Object.keys(headersObj).forEach((key) => {\n if (postData.mimeType && key.toLowerCase() === \"content-type\" && postData.text) {\n if (isMultipart && postData.boundary) {\n push(`request.FormBoundary = \"${postData.boundary}\";`);\n }\n return;\n }\n push(`request.AddHeader(\"${key}\", \"${escapeForDoubleQuotes(headersObj[key])}\");`);\n });\n cookies.forEach(({ name, value }) => {\n push(`request.AddCookie(\"${name}\", \"${escapeForDoubleQuotes(value)}\", \"${uriObj.pathname}\", \"${uriObj.host}\");`);\n });\n switch (postData.mimeType) {\n case \"multipart/form-data\":\n if (!postData.params) break;\n postData.params.forEach((param) => {\n if (param.fileName) {\n push(`request.AddFile(\"${param.name}\", \"${param.fileName}\");`);\n } else {\n push(`request.AddParameter(\"${param.name}\", \"${param.value}\");`);\n }\n });\n break;\n case \"application/x-www-form-urlencoded\":\n if (!postData.params) break;\n postData.params.forEach((param) => {\n push(`request.AddParameter(\"${param.name}\", \"${param.value}\");`);\n });\n break;\n case \"application/json\": {\n if (!postData.text) break;\n const text = JSON.stringify(postData.text);\n push(`request.AddJsonBody(${text}, false);`);\n break;\n }\n default:\n if (!postData.text) break;\n push(`request.AddStringBody(\"${postData.text}\", \"${postData.mimeType}\");`);\n }\n push(`var response = await client.${title(method)}Async(request);\n`);\n push('Console.WriteLine(\"{0}\", response.Content);\\n');\n return join();\n }\n};\n\n// src/targets/csharp/target.ts\nvar csharp = {\n info: {\n key: \"csharp\",\n title: \"C#\",\n default: \"restsharp\",\n cli: \"dotnet\"\n },\n clientsById: {\n httpclient,\n restsharp\n }\n};\n\n// src/targets/go/native/client.ts\nvar native = {\n info: {\n key: \"native\",\n title: \"NewRequest\",\n link: \"http://golang.org/pkg/net/http/#NewRequest\",\n description: \"Golang HTTP client request\",\n extname: \".go\"\n },\n convert: ({ postData, method, allHeaders, fullUrl }, options = {}) => {\n const { blank, push, join } = new CodeBuilder({ indent: \"\t\" });\n const { showBoilerplate = true, checkErrors = false, printBody = true, timeout = -1 } = options;\n const errorPlaceholder = checkErrors ? \"err\" : \"_\";\n const indent = showBoilerplate ? 1 : 0;\n const errorCheck = () => {\n if (checkErrors) {\n push(\"if err != nil {\", indent);\n push(\"panic(err)\", indent + 1);\n push(\"}\", indent);\n }\n };\n if (showBoilerplate) {\n push(\"package main\");\n blank();\n push(\"import (\");\n push('\"fmt\"', indent);\n if (timeout > 0) {\n push('\"time\"', indent);\n }\n if (postData.text) {\n push('\"strings\"', indent);\n }\n push('\"net/http\"', indent);\n if (printBody) {\n push('\"io\"', indent);\n }\n push(\")\");\n blank();\n push(\"func main() {\");\n blank();\n }\n const hasTimeout = timeout > 0;\n const hasClient = hasTimeout;\n const client = hasClient ? \"client\" : \"http.DefaultClient\";\n if (hasClient) {\n push(\"client := http.Client{\", indent);\n if (hasTimeout) {\n push(`Timeout: time.Duration(${timeout} * time.Second),`, indent + 1);\n }\n push(\"}\", indent);\n blank();\n }\n push(`url := \"${fullUrl}\"`, indent);\n blank();\n if (postData.text) {\n push(`payload := strings.NewReader(${JSON.stringify(postData.text)})`, indent);\n blank();\n push(`req, ${errorPlaceholder} := http.NewRequest(\"${method}\", url, payload)`, indent);\n blank();\n } else {\n push(`req, ${errorPlaceholder} := http.NewRequest(\"${method}\", url, nil)`, indent);\n blank();\n }\n errorCheck();\n if (Object.keys(allHeaders).length) {\n Object.keys(allHeaders).forEach((key) => {\n push(`req.Header.Add(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, indent);\n });\n blank();\n }\n push(`res, ${errorPlaceholder} := ${client}.Do(req)`, indent);\n errorCheck();\n if (printBody) {\n blank();\n push(\"defer res.Body.Close()\", indent);\n push(`body, ${errorPlaceholder} := io.ReadAll(res.Body)`, indent);\n errorCheck();\n }\n blank();\n if (printBody) {\n push(\"fmt.Println(string(body))\", indent);\n }\n if (showBoilerplate) {\n blank();\n push(\"}\");\n }\n return join();\n }\n};\n\n// src/targets/go/target.ts\nvar go = {\n info: {\n key: \"go\",\n title: \"Go\",\n default: \"native\",\n cli: \"go\"\n },\n clientsById: {\n native\n }\n};\n\n// src/targets/http/http1.1/client.ts\nvar CRLF = \"\\r\\n\";\nvar http11 = {\n info: {\n key: \"http1.1\",\n title: \"HTTP/1.1\",\n link: \"https://tools.ietf.org/html/rfc7230\",\n description: \"HTTP/1.1 request string in accordance with RFC 7230\",\n extname: null\n },\n convert: ({ method, fullUrl, uriObj, httpVersion, allHeaders, postData }, options) => {\n const opts = {\n absoluteURI: false,\n autoContentLength: true,\n autoHost: true,\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: \"\", join: CRLF });\n const requestUrl = opts.absoluteURI ? fullUrl : uriObj.path;\n push(`${method} ${requestUrl} ${httpVersion}`);\n const headerKeys = Object.keys(allHeaders);\n headerKeys.forEach((key) => {\n const keyCapitalized = key.toLowerCase().replace(/(^|-)(\\w)/g, (input) => input.toUpperCase());\n push(`${keyCapitalized}: ${allHeaders[key]}`);\n });\n if (opts.autoHost && !headerKeys.includes(\"host\")) {\n push(`Host: ${uriObj.host}`);\n }\n if (opts.autoContentLength && postData.text && !headerKeys.includes(\"content-length\")) {\n const encoder = new TextEncoder();\n const length = encoder.encode(postData.text).length.toString();\n push(`Content-Length: ${length}`);\n }\n blank();\n const headerSection = join();\n const messageBody = postData.text || \"\";\n return `${headerSection}${CRLF}${messageBody}`;\n }\n};\n\n// src/targets/http/target.ts\nvar http = {\n info: {\n key: \"http\",\n title: \"HTTP\",\n default: \"http1.1\"\n },\n clientsById: {\n \"http1.1\": http11\n }\n};\n\n// src/targets/java/asynchttp/client.ts\nvar asynchttp = {\n info: {\n key: \"asynchttp\",\n title: \"AsyncHttp\",\n link: \"https://github.com/AsyncHttpClient/async-http-client\",\n description: \"Asynchronous Http and WebSocket Client library for Java\",\n extname: \".java\"\n },\n convert: ({ method, allHeaders, postData, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: opts.indent });\n push(\"AsyncHttpClient client = new DefaultAsyncHttpClient();\");\n push(`client.prepare(\"${method.toUpperCase()}\", \"${fullUrl}\")`);\n Object.keys(allHeaders).forEach((key) => {\n push(`.setHeader(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n if (postData.text) {\n push(`.setBody(${JSON.stringify(postData.text)})`, 1);\n }\n push(\".execute()\", 1);\n push(\".toCompletableFuture()\", 1);\n push(\".thenAccept(System.out::println)\", 1);\n push(\".join();\", 1);\n blank();\n push(\"client.close();\");\n return join();\n }\n};\n\n// src/targets/java/nethttp/client.ts\nvar nethttp = {\n info: {\n key: \"nethttp\",\n title: \"java.net.http\",\n link: \"https://openjdk.java.net/groups/net/httpclient/intro.html\",\n description: \"Java Standardized HTTP Client API\",\n extname: \".java\"\n },\n convert: ({ allHeaders, fullUrl, method, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { push, join } = new CodeBuilder({ indent: opts.indent });\n push(\"HttpRequest request = HttpRequest.newBuilder()\");\n push(`.uri(URI.create(\"${fullUrl}\"))`, 2);\n Object.keys(allHeaders).forEach((key) => {\n push(`.header(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 2);\n });\n if (postData.text) {\n push(\n `.method(\"${method.toUpperCase()}\", HttpRequest.BodyPublishers.ofString(${JSON.stringify(postData.text)}))`,\n 2\n );\n } else {\n push(`.method(\"${method.toUpperCase()}\", HttpRequest.BodyPublishers.noBody())`, 2);\n }\n push(\".build();\", 2);\n push(\n \"HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());\"\n );\n push(\"System.out.println(response.body());\");\n return join();\n }\n};\n\n// src/targets/java/okhttp/client.ts\nvar okhttp = {\n info: {\n key: \"okhttp\",\n title: \"OkHttp\",\n link: \"http://square.github.io/okhttp/\",\n description: \"An HTTP Request Client Library\",\n extname: \".java\"\n },\n convert: ({ postData, method, fullUrl, allHeaders }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\"];\n const methodsWithBody = [\"POST\", \"PUT\", \"DELETE\", \"PATCH\"];\n push(\"OkHttpClient client = new OkHttpClient();\");\n blank();\n if (postData.text) {\n if (postData.boundary) {\n push(`MediaType mediaType = MediaType.parse(\"${postData.mimeType}; boundary=${postData.boundary}\");`);\n } else {\n push(`MediaType mediaType = MediaType.parse(\"${postData.mimeType}\");`);\n }\n push(`RequestBody body = RequestBody.create(mediaType, ${JSON.stringify(postData.text)});`);\n }\n push(\"Request request = new Request.Builder()\");\n push(`.url(\"${fullUrl}\")`, 1);\n if (!methods.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.method(\"${method.toUpperCase()}\", body)`, 1);\n } else {\n push(`.method(\"${method.toUpperCase()}\", null)`, 1);\n }\n } else if (methodsWithBody.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.${method.toLowerCase()}(body)`, 1);\n } else {\n push(`.${method.toLowerCase()}(null)`, 1);\n }\n } else {\n push(`.${method.toLowerCase()}()`, 1);\n }\n Object.keys(allHeaders).forEach((key) => {\n push(`.addHeader(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n push(\".build();\", 1);\n blank();\n push(\"Response response = client.newCall(request).execute();\");\n return join();\n }\n};\n\n// src/targets/java/unirest/client.ts\nvar unirest = {\n info: {\n key: \"unirest\",\n title: \"Unirest\",\n link: \"http://unirest.io/java.html\",\n description: \"Lightweight HTTP Request Client Library\",\n extname: \".java\"\n },\n convert: ({ method, allHeaders, postData, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { join, push } = new CodeBuilder({ indent: opts.indent });\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\"];\n if (!methods.includes(method.toUpperCase())) {\n push(`HttpResponse<String> response = Unirest.customMethod(\"${method.toUpperCase()}\",\"${fullUrl}\")`);\n } else {\n push(`HttpResponse<String> response = Unirest.${method.toLowerCase()}(\"${fullUrl}\")`);\n }\n Object.keys(allHeaders).forEach((key) => {\n push(`.header(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n if (postData.text) {\n push(`.body(${JSON.stringify(postData.text)})`, 1);\n }\n push(\".asString();\", 1);\n return join();\n }\n};\n\n// src/targets/java/target.ts\nvar java = {\n info: {\n key: \"java\",\n title: \"Java\",\n default: \"unirest\"\n },\n clientsById: {\n asynchttp,\n nethttp,\n okhttp,\n unirest\n }\n};\nvar axios = {\n info: {\n key: \"axios\",\n title: \"Axios\",\n link: \"https://github.com/axios/axios\",\n description: \"Promise based HTTP client for the browser and node.js\",\n extname: \".js\",\n installation: \"npm install axios --save\"\n },\n convert: ({ allHeaders, method, url, queryObj, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, push, join, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"import axios from 'axios';\");\n blank();\n const requestOptions = {\n method,\n url\n };\n if (Object.keys(queryObj).length) {\n requestOptions.params = queryObj;\n }\n if (Object.keys(allHeaders).length) {\n requestOptions.headers = allHeaders;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params) {\n push(\"const encodedParams = new URLSearchParams();\");\n postData.params.forEach((param) => {\n push(`encodedParams.set('${param.name}', '${param.value}');`);\n });\n blank();\n requestOptions.data = \"encodedParams,\";\n addPostProcessor((code) => code.replace(/'encodedParams,'/, \"encodedParams,\"));\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n requestOptions.data = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n push(\"const form = new FormData();\");\n postData.params.forEach((param) => {\n push(`form.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n blank();\n requestOptions.data = \"[form]\";\n break;\n default:\n if (postData.text) {\n requestOptions.data = postData.text;\n }\n }\n const optionString = stringifyObject9(requestOptions, {\n indent: \" \",\n inlineCharacterLimit: 80\n }).replace('\"[form]\"', \"form\");\n push(`const options = ${optionString};`);\n blank();\n push(\"axios\");\n push(\".request(options)\", 1);\n push(\".then(function (response) {\", 1);\n push(\"console.log(response.data);\", 2);\n push(\"})\", 1);\n push(\".catch(function (error) {\", 1);\n push(\"console.error(error);\", 2);\n push(\"});\", 1);\n return join();\n }\n};\nvar fetch = {\n info: {\n key: \"fetch\",\n title: \"fetch\",\n link: \"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\",\n description: \"Perform asynchronous HTTP requests with the Fetch API\",\n extname: \".js\"\n },\n convert: ({ method, allHeaders, postData, fullUrl }, inputOpts) => {\n const opts = {\n indent: \" \",\n credentials: null,\n ...inputOpts\n };\n const { blank, join, push } = new CodeBuilder({ indent: opts.indent });\n const options = {\n method\n };\n if (Object.keys(allHeaders).length) {\n options.headers = allHeaders;\n }\n if (opts.credentials !== null) {\n options.credentials = opts.credentials;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n options.body = postData.paramsObj ? postData.paramsObj : postData.text;\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n options.body = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n const contentTypeHeader = getHeaderName(allHeaders, \"content-type\");\n if (contentTypeHeader) {\n delete allHeaders[contentTypeHeader];\n }\n push(\"const form = new FormData();\");\n postData.params.forEach((param) => {\n push(`form.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n blank();\n break;\n default:\n if (postData.text) {\n options.body = postData.text;\n }\n }\n if (options.headers && !Object.keys(options.headers).length) {\n delete options.headers;\n }\n push(\n `const options = ${stringifyObject9(options, {\n indent: opts.indent,\n inlineCharacterLimit: 80,\n // The Fetch API body only accepts string parameters, but stringified JSON can be difficult\n // to read, so we keep the object as a literal and use this transform function to wrap the\n // literal in a `JSON.stringify` call.\n transform: (object, property, originalResult) => {\n if (property === \"body\") {\n if (postData.mimeType === \"application/x-www-form-urlencoded\") {\n return `new URLSearchParams(${originalResult})`;\n } else if (postData.mimeType === \"application/json\") {\n return `JSON.stringify(${originalResult})`;\n }\n }\n return originalResult;\n }\n })};`\n );\n blank();\n if (postData.params && postData.mimeType === \"multipart/form-data\") {\n push(\"options.body = form;\");\n blank();\n }\n push(`fetch('${fullUrl}', options)`);\n push(\".then(response => response.json())\", 1);\n push(\".then(response => console.log(response))\", 1);\n push(\".catch(err => console.error(err));\", 1);\n return join();\n }\n};\nvar jquery = {\n info: {\n key: \"jquery\",\n title: \"jQuery\",\n link: \"http://api.jquery.com/jquery.ajax/\",\n description: \"Perform an asynchronous HTTP (Ajax) requests with jQuery\",\n extname: \".js\"\n },\n convert: ({ fullUrl, method, allHeaders, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: opts.indent });\n const settings = {\n async: true,\n crossDomain: true,\n url: fullUrl,\n method,\n headers: allHeaders\n };\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n settings.data = postData.paramsObj ? postData.paramsObj : postData.text;\n break;\n case \"application/json\":\n settings.processData = false;\n settings.data = postData.text;\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n push(\"const form = new FormData();\");\n postData.params.forEach((param) => {\n push(`form.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n settings.processData = false;\n settings.contentType = false;\n settings.mimeType = \"multipart/form-data\";\n settings.data = \"[form]\";\n if (hasHeader(allHeaders, \"content-type\")) {\n if (getHeader(allHeaders, \"content-type\")?.includes(\"boundary\")) {\n const headerName = getHeaderName(allHeaders, \"content-type\");\n if (headerName) {\n delete settings.headers[headerName];\n }\n }\n }\n blank();\n break;\n default:\n if (postData.text) {\n settings.data = postData.text;\n }\n }\n const stringifiedSettings = stringifyObject9(settings, { indent: opts.indent }).replace(\"'[form]'\", \"form\");\n push(`const settings = ${stringifiedSettings};`);\n blank();\n push(\"$.ajax(settings).done(function (response) {\");\n push(\"console.log(response);\", 1);\n push(\"});\");\n return join();\n }\n};\nvar xhr = {\n info: {\n key: \"xhr\",\n title: \"XMLHttpRequest\",\n link: \"https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\",\n description: \"W3C Standard API that provides scripted client functionality\",\n extname: \".js\"\n },\n convert: ({ postData, allHeaders, method, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n cors: true,\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: opts.indent });\n switch (postData.mimeType) {\n case \"application/json\":\n push(\n `const data = JSON.stringify(${stringifyObject9(postData.jsonObj, {\n indent: opts.indent\n })});`\n );\n blank();\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n push(\"const data = new FormData();\");\n postData.params.forEach((param) => {\n push(`data.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n if (hasHeader(allHeaders, \"content-type\")) {\n if (getHeader(allHeaders, \"content-type\")?.includes(\"boundary\")) {\n const headerName = getHeaderName(allHeaders, \"content-type\");\n if (headerName) {\n delete allHeaders[headerName];\n }\n }\n }\n blank();\n break;\n default:\n push(`const data = ${postData.text ? `'${postData.text}'` : \"null\"};`);\n blank();\n }\n push(\"const xhr = new XMLHttpRequest();\");\n if (opts.cors) {\n push(\"xhr.withCredentials = true;\");\n }\n blank();\n push(\"xhr.addEventListener('readystatechange', function () {\");\n push(\"if (this.readyState === this.DONE) {\", 1);\n push(\"console.log(this.responseText);\", 2);\n push(\"}\", 1);\n push(\"});\");\n blank();\n push(`xhr.open('${method}', '${fullUrl}');`);\n Object.keys(allHeaders).forEach((key) => {\n push(`xhr.setRequestHeader('${key}', '${escapeForSingleQuotes(allHeaders[key])}');`);\n });\n blank();\n push(\"xhr.send(data);\");\n return join();\n }\n};\n\n// src/targets/javascript/target.ts\nvar javascript = {\n info: {\n key: \"javascript\",\n title: \"JavaScript\",\n default: \"xhr\"\n },\n clientsById: {\n xhr,\n axios,\n fetch,\n jquery\n }\n};\n\n// src/targets/json/native/client.ts\nvar native2 = {\n info: {\n key: \"native\",\n title: \"Native JSON\",\n link: \"https://www.json.org/json-en.html\",\n description: \"A JSON represetation of any HAR payload.\",\n extname: \".json\"\n },\n convert: ({ postData }, inputOpts) => {\n const opts = {\n indent: \" \",\n ...inputOpts\n };\n let payload = \"\";\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n payload = postData.paramsObj ? postData.paramsObj : postData.text;\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n payload = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n const multipartPayload = {};\n postData.params.forEach((param) => {\n multipartPayload[param.name] = param.value;\n });\n payload = multipartPayload;\n break;\n default:\n if (postData.text) {\n payload = postData.text;\n }\n }\n if (typeof payload === \"undefined\" || payload === \"\") {\n return \"No JSON body\";\n }\n return JSON.stringify(payload, null, opts.indent);\n }\n};\n\n// src/targets/json/target.ts\nvar json = {\n info: {\n key: \"json\",\n title: \"JSON\",\n default: \"native\"\n },\n clientsById: {\n native: native2\n }\n};\n\n// src/targets/kotlin/okhttp/client.ts\nvar okhttp2 = {\n info: {\n key: \"okhttp\",\n title: \"OkHttp\",\n link: \"http://square.github.io/okhttp/\",\n description: \"An HTTP Request Client Library\",\n extname: \".kt\"\n },\n convert: ({ postData, fullUrl, method, allHeaders }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, join, push } = new CodeBuilder({ indent: opts.indent });\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\"];\n const methodsWithBody = [\"POST\", \"PUT\", \"DELETE\", \"PATCH\"];\n push(\"val client = OkHttpClient()\");\n blank();\n if (postData.text) {\n if (postData.boundary) {\n push(`val mediaType = MediaType.parse(\"${postData.mimeType}; boundary=${postData.boundary}\")`);\n } else {\n push(`val mediaType = MediaType.parse(\"${postData.mimeType}\")`);\n }\n push(`val body = RequestBody.create(mediaType, ${JSON.stringify(postData.text)})`);\n }\n push(\"val request = Request.Builder()\");\n push(`.url(\"${fullUrl}\")`, 1);\n if (!methods.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.method(\"${method.toUpperCase()}\", body)`, 1);\n } else {\n push(`.method(\"${method.toUpperCase()}\", null)`, 1);\n }\n } else if (methodsWithBody.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.${method.toLowerCase()}(body)`, 1);\n } else {\n push(`.${method.toLowerCase()}(null)`, 1);\n }\n } else {\n push(`.${method.toLowerCase()}()`, 1);\n }\n Object.keys(allHeaders).forEach((key) => {\n push(`.addHeader(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n push(\".build()\", 1);\n blank();\n push(\"val response = client.newCall(request).execute()\");\n return join();\n }\n};\n\n// src/targets/kotlin/target.ts\nvar kotlin = {\n info: {\n key: \"kotlin\",\n title: \"Kotlin\",\n default: \"okhttp\"\n },\n clientsById: {\n okhttp: okhttp2\n }\n};\nvar axios2 = {\n info: {\n key: \"axios\",\n title: \"Axios\",\n link: \"https://github.com/axios/axios\",\n description: \"Promise based HTTP client for the browser and node.js\",\n extname: \".cjs\",\n installation: \"npm install axios --save\"\n },\n convert: ({ method, fullUrl, allHeaders, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, join, push, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"const axios = require('axios');\");\n const reqOpts = {\n method,\n url: fullUrl\n };\n if (Object.keys(allHeaders).length) {\n reqOpts.headers = allHeaders;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params) {\n push(\"const { URLSearchParams } = require('url');\");\n blank();\n push(\"const encodedParams = new URLSearchParams();\");\n postData.params.forEach((param) => {\n push(`encodedParams.set('${param.name}', '${param.value}');`);\n });\n blank();\n reqOpts.data = \"encodedParams,\";\n addPostProcessor((code) => code.replace(/'encodedParams,'/, \"encodedParams,\"));\n }\n break;\n case \"application/json\":\n blank();\n if (postData.jsonObj) {\n reqOpts.data = postData.jsonObj;\n }\n break;\n default:\n blank();\n if (postData.text) {\n reqOpts.data = postData.text;\n }\n }\n const stringifiedOptions = stringifyObject9(reqOpts, { indent: \" \", inlineCharacterLimit: 80 });\n push(`const options = ${stringifiedOptions};`);\n blank();\n push(\"axios\");\n push(\".request(options)\", 1);\n push(\".then(function (response) {\", 1);\n push(\"console.log(response.data);\", 2);\n push(\"})\", 1);\n push(\".catch(function (error) {\", 1);\n push(\"console.error(error);\", 2);\n push(\"});\", 1);\n return join();\n }\n};\nvar fetch2 = {\n info: {\n key: \"fetch\",\n title: \"Fetch\",\n link: \"https://github.com/bitinn/node-fetch\",\n description: \"Simplified HTTP node-fetch client\",\n extname: \".cjs\",\n installation: \"npm install node-fetch@2 --save\"\n },\n convert: ({ method, fullUrl, postData, headersObj, cookies }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n let includeFS = false;\n const { blank, push, join, unshift } = new CodeBuilder({ indent: opts.indent });\n push(\"const fetch = require('node-fetch');\");\n const url = fullUrl;\n const reqOpts = {\n method\n };\n if (Object.keys(headersObj).length) {\n reqOpts.headers = headersObj;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n unshift(\"const { URLSearchParams } = require('url');\");\n push(\"const encodedParams = new URLSearchParams();\");\n blank();\n postData.params?.forEach((param) => {\n push(`encodedParams.set('${param.name}', '${param.value}');`);\n });\n reqOpts.body = \"encodedParams\";\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n reqOpts.body = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n const contentTypeHeader = getHeaderName(headersObj, \"content-type\");\n if (contentTypeHeader) {\n delete headersObj[contentTypeHeader];\n }\n unshift(\"const FormData = require('form-data');\");\n push(\"const formData = new FormData();\");\n blank();\n postData.params.forEach((param) => {\n if (!param.fileName && !param.fileName && !param.contentType) {\n push(`formData.append('${param.name}', '${param.value}');`);\n return;\n }\n if (param.fileName) {\n includeFS = true;\n push(`formData.append('${param.name}', fs.createReadStream('${param.fileName}'));`);\n }\n });\n break;\n default:\n if (postData.text) {\n reqOpts.body = postData.text;\n }\n }\n if (cookies.length) {\n const cookiesString = cookies.map(({ name, value }) => `${encodeURIComponent(name)}=${encodeURIComponent(value)}`).join(\"; \");\n if (reqOpts.headers) {\n reqOpts.headers.cookie = cookiesString;\n } else {\n reqOpts.headers = {};\n reqOpts.headers.cookie = cookiesString;\n }\n }\n blank();\n push(`const url = '${url}';`);\n if (reqOpts.headers && !Object.keys(reqOpts.headers).length) {\n delete reqOpts.headers;\n }\n const stringifiedOptions = stringifyObject9(reqOpts, {\n indent: \" \",\n inlineCharacterLimit: 80,\n // The Fetch API body only accepts string parameters, but stringified JSON can be difficult to\n // read, so we keep the object as a literal and use this transform function to wrap the literal\n // in a `JSON.stringify` call.\n transform: (object, property, originalResult) => {\n if (property === \"body\" && postData.mimeType === \"application/json\") {\n return `JSON.stringify(${originalResult})`;\n }\n return originalResult;\n }\n });\n push(`const options = ${stringifiedOptions};`);\n blank();\n if (includeFS) {\n unshift(\"const fs = require('fs');\");\n }\n if (postData.params && postData.mimeType === \"multipart/form-data\") {\n push(\"options.body = formData;\");\n blank();\n }\n push(\"fetch(url, options)\");\n push(\".then(res => res.json())\", 1);\n push(\".then(json => console.log(json))\", 1);\n push(\".catch(err => console.error('error:' + err));\", 1);\n return join().replace(/'encodedParams'/, \"encodedParams\").replace(/\"fs\\.createReadStream\\(\\\\\"(.+)\\\\\"\\)\"/, 'fs.createReadStream(\"$1\")');\n }\n};\nvar native3 = {\n info: {\n key: \"native\",\n title: \"HTTP\",\n link: \"http://nodejs.org/api/http.html#http_http_request_options_callback\",\n description: \"Node.js native HTTP interface\",\n extname: \".cjs\"\n },\n convert: ({ uriObj, method, allHeaders, postData }, options = {}) => {\n const { indent = \" \" } = options;\n const { blank, join, push, unshift } = new CodeBuilder({ indent });\n const reqOpts = {\n method,\n hostname: uriObj.hostname,\n port: uriObj.port,\n path: uriObj.path,\n headers: allHeaders\n };\n push(`const http = require('${uriObj.protocol?.replace(\":\", \"\")}');`);\n blank();\n push(`const options = ${stringifyObject9(reqOpts, { indent })};`);\n blank();\n push(\"const req = http.request(options, function (res) {\");\n push(\"const chunks = [];\", 1);\n blank();\n push(\"res.on('data', function (chunk) {\", 1);\n push(\"chunks.push(chunk);\", 2);\n push(\"});\", 1);\n blank();\n push(\"res.on('end', function () {\", 1);\n push(\"const body = Buffer.concat(chunks);\", 2);\n push(\"console.log(body.toString());\", 2);\n push(\"});\", 1);\n push(\"});\");\n blank();\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.paramsObj) {\n unshift(\"const qs = require('querystring');\");\n push(\n `req.write(qs.stringify(${stringifyObject9(postData.paramsObj, {\n indent: \" \",\n inlineCharacterLimit: 80\n })}));`\n );\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(\n `req.write(JSON.stringify(${stringifyObject9(postData.jsonObj, {\n indent: \" \",\n inlineCharacterLimit: 80\n })}));`\n );\n }\n break;\n default:\n if (postData.text) {\n push(`req.write(${stringifyObject9(postData.text, { indent })});`);\n }\n }\n push(\"req.end();\");\n return join();\n }\n};\nvar request = {\n info: {\n key: \"request\",\n title: \"Request\",\n link: \"https://github.com/request/request\",\n description: \"Simplified HTTP request client\",\n extname: \".cjs\",\n installation: \"npm install request --save\"\n },\n convert: ({ method, url, fullUrl, postData, headersObj, cookies }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n let includeFS = false;\n const { push, blank, join, unshift, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"const request = require('request');\");\n blank();\n const reqOpts = {\n method,\n url: fullUrl\n };\n if (Object.keys(headersObj).length) {\n reqOpts.headers = headersObj;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n reqOpts.form = postData.paramsObj;\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n reqOpts.body = postData.jsonObj;\n reqOpts.json = true;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n reqOpts.formData = {};\n postData.params.forEach((param) => {\n if (!param.fileName && !param.fileName && !param.contentType) {\n reqOpts.formData[param.name] = param.value;\n return;\n }\n let attachment = {};\n if (param.fileName) {\n includeFS = true;\n attachment = {\n value: `fs.createReadStream(${param.fileName})`,\n options: {\n filename: param.fileName,\n contentType: param.contentType ? param.contentType : null\n }\n };\n } else if (param.value) {\n attachment.value = param.value;\n }\n reqOpts.formData[param.name] = attachment;\n });\n addPostProcessor((code) => code.replace(/'fs\\.createReadStream\\((.*)\\)'/, \"fs.createReadStream('$1')\"));\n break;\n default:\n if (postData.text) {\n reqOpts.body = postData.text;\n }\n }\n if (cookies.length) {\n reqOpts.jar = \"JAR\";\n push(\"const jar = request.jar();\");\n cookies.forEach(({ name, value }) => {\n push(`jar.setCookie(request.cookie('${encodeURIComponent(name)}=${encodeURIComponent(value)}'), '${url}');`);\n });\n blank();\n addPostProcessor((code) => code.replace(/'JAR'/, \"jar\"));\n }\n if (includeFS) {\n unshift(\"const fs = require('fs');\");\n }\n push(`const options = ${stringifyObject9(reqOpts, { indent: \" \", inlineCharacterLimit: 80 })};`);\n blank();\n push(\"request(options, function (error, response, body) {\");\n push(\"if (error) throw new Error(error);\", 1);\n blank();\n push(\"console.log(body);\", 1);\n push(\"});\");\n return join();\n }\n};\nvar unirest2 = {\n info: {\n key: \"unirest\",\n title: \"Unirest\",\n link: \"http://unirest.io/nodejs.html\",\n description: \"Lightweight HTTP Request Client Library\",\n extname: \".cjs\"\n },\n convert: ({ method, url, cookies, queryObj, postData, headersObj }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n let includeFS = false;\n const { addPostProcessor, blank, join, push, unshift } = new CodeBuilder({\n indent: opts.indent\n });\n push(\"const unirest = require('unirest');\");\n blank();\n push(`const req = unirest('${method}', '${url}');`);\n blank();\n if (cookies.length) {\n push(\"const CookieJar = unirest.jar();\");\n cookies.forEach((cookie) => {\n push(`CookieJar.add('${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}', '${url}');`);\n });\n push(\"req.jar(CookieJar);\");\n blank();\n }\n if (Object.keys(queryObj).length) {\n push(`req.query(${stringifyObject9(queryObj, { indent: opts.indent })});`);\n blank();\n }\n if (Object.keys(headersObj).length) {\n push(`req.headers(${stringifyObject9(headersObj, { indent: opts.indent })});`);\n blank();\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.paramsObj) {\n push(`req.form(${stringifyObject9(postData.paramsObj, { indent: opts.indent })});`);\n blank();\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(\"req.type('json');\");\n push(`req.send(${stringifyObject9(postData.jsonObj, { indent: opts.indent })});`);\n blank();\n }\n break;\n case \"multipart/form-data\": {\n if (!postData.params) {\n break;\n }\n const multipart = [];\n postData.params.forEach((param) => {\n const part = {};\n if (param.fileName && !param.value) {\n includeFS = true;\n part.body = `fs.createReadStream('${param.fileName}')`;\n addPostProcessor((code) => code.replace(/'fs\\.createReadStream\\(\\\\'(.+)\\\\'\\)'/, \"fs.createReadStream('$1')\"));\n } else if (param.value) {\n part.body = param.value;\n }\n if (part.body) {\n if (param.contentType) {\n part[\"content-type\"] = param.contentType;\n }\n multipart.push(part);\n }\n });\n push(`req.multipart(${stringifyObject9(multipart, { indent: opts.indent })});`);\n blank();\n break;\n }\n default:\n if (postData.text) {\n push(`req.send(${stringifyObject9(postData.text, { indent: opts.indent })});`);\n blank();\n }\n }\n if (includeFS) {\n unshift(\"const fs = require('fs');\");\n }\n push(\"req.end(function (res) {\");\n push(\"if (res.error) throw new Error(res.error);\", 1);\n blank();\n push(\"console.log(res.body);\", 1);\n push(\"});\");\n return join();\n }\n};\n\n// src/targets/node/target.ts\nvar node = {\n info: {\n key: \"node\",\n title: \"Node.js\",\n default: \"native\",\n cli: \"node %s\"\n },\n clientsById: {\n native: native3,\n request,\n unirest: unirest2,\n axios: axios2,\n fetch: fetch2\n }\n};\n\n// src/targets/objc/helpers.ts\nvar nsDeclaration = (nsClass, name, parameters, indent) => {\n const opening = `${nsClass} *${name} = `;\n const literal = literalRepresentation(parameters, indent ? opening.length : void 0);\n return `${opening}${literal};`;\n};\nvar literalRepresentation = (value, indentation) => {\n const join = indentation === void 0 ? \", \" : `,\n ${\" \".repeat(indentation)}`;\n switch (Object.prototype.toString.call(value)) {\n case \"[object Number]\":\n return `@${value}`;\n case \"[object Array]\": {\n const valuesRepresentation = value.map((val) => literalRepresentation(val));\n return `@[ ${valuesRepresentation.join(join)} ]`;\n }\n case \"[object Object]\": {\n const keyValuePairs = [];\n Object.keys(value).forEach((key) => {\n keyValuePairs.push(`@\"${key}\": ${literalRepresentation(value[key])}`);\n });\n return `@{ ${keyValuePairs.join(join)} }`;\n }\n case \"[object Boolean]\":\n return value ? \"@YES\" : \"@NO\";\n default:\n if (value === null || value === void 0) {\n return \"\";\n }\n return `@\"${value.toString().replace(/\"/g, '\\\\\"')}\"`;\n }\n};\n\n// src/targets/objc/nsurlsession/client.ts\nvar nsurlsession = {\n info: {\n key: \"nsurlsession\",\n title: \"NSURLSession\",\n link: \"https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSURLSession_class/index.html\",\n description: \"Foundation's NSURLSession request\",\n extname: \".m\"\n },\n convert: ({ allHeaders, postData, method, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n pretty: true,\n timeout: 10,\n ...options\n };\n const { push, join, blank } = new CodeBuilder({ indent: opts.indent });\n const req = {\n hasHeaders: false,\n hasBody: false\n };\n push(\"#import <Foundation/Foundation.h>\");\n if (Object.keys(allHeaders).length) {\n req.hasHeaders = true;\n blank();\n push(nsDeclaration(\"NSDictionary\", \"headers\", allHeaders, opts.pretty));\n }\n if (postData.text || postData.jsonObj || postData.params) {\n req.hasBody = true;\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params?.length) {\n blank();\n const [head, ...tail] = postData.params;\n push(\n `NSMutableData *postData = [[NSMutableData alloc] initWithData:[@\"${head.name}=${head.value}\" dataUsingEncoding:NSUTF8StringEncoding]];`\n );\n tail.forEach(({ name, value }) => {\n push(`[postData appendData:[@\"&${name}=${value}\" dataUsingEncoding:NSUTF8StringEncoding]];`);\n });\n } else {\n req.hasBody = false;\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(nsDeclaration(\"NSDictionary\", \"parameters\", postData.jsonObj, opts.pretty));\n blank();\n push(\"NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];\");\n }\n break;\n case \"multipart/form-data\":\n push(nsDeclaration(\"NSArray\", \"parameters\", postData.params || [], opts.pretty));\n push(`NSString *boundary = @\"${postData.boundary}\";`);\n blank();\n push(\"NSError *error;\");\n push(\"NSMutableString *body = [NSMutableString string];\");\n push(\"for (NSDictionary *param in parameters) {\");\n push('[body appendFormat:@\"--%@\\\\r\\\\n\", boundary];', 1);\n push('if (param[@\"fileName\"]) {', 1);\n push(\n '[body appendFormat:@\"Content-Disposition:form-data; name=\\\\\"%@\\\\\"; filename=\\\\\"%@\\\\\"\\\\r\\\\n\", param[@\"name\"], param[@\"fileName\"]];',\n 2\n );\n push('[body appendFormat:@\"Content-Type: %@\\\\r\\\\n\\\\r\\\\n\", param[@\"contentType\"]];', 2);\n push(\n '[body appendFormat:@\"%@\", [NSString stringWithContentsOfFile:param[@\"fileName\"] encoding:NSUTF8StringEncoding error:&error]];',\n 2\n );\n push(\"if (error) {\", 2);\n push('NSLog(@\"%@\", error);', 3);\n push(\"}\", 2);\n push(\"} else {\", 1);\n push('[body appendFormat:@\"Content-Disposition:form-data; name=\\\\\"%@\\\\\"\\\\r\\\\n\\\\r\\\\n\", param[@\"name\"]];', 2);\n push('[body appendFormat:@\"%@\", param[@\"value\"]];', 2);\n push(\"}\", 1);\n push(\"}\");\n push('[body appendFormat:@\"\\\\r\\\\n--%@--\\\\r\\\\n\", boundary];');\n push(\"NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];\");\n break;\n default:\n blank();\n push(\n `NSData *postData = [[NSData alloc] initWithData:[@\"${postData.text}\" dataUsingEncoding:NSUTF8StringEncoding]];`\n );\n }\n }\n blank();\n push(`NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@\"${fullUrl}\"]`);\n push(\" cachePolicy:NSURLRequestUseProtocolCachePolicy\");\n push(` timeoutInterval:${opts.timeout.toFixed(1)}];`);\n push(`[request setHTTPMethod:@\"${method}\"];`);\n if (req.hasHeaders) {\n push(\"[request setAllHTTPHeaderFields:headers];\");\n }\n if (req.hasBody) {\n push(\"[request setHTTPBody:postData];\");\n }\n blank();\n push(\"NSURLSession *session = [NSURLSession sharedSession];\");\n push(\"NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request\");\n push(\n \" completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {\"\n );\n push(\" if (error) {\", 1);\n push(' NSLog(@\"%@\", error);', 2);\n push(\" } else {\", 1);\n push(\n \" NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;\",\n 2\n );\n push(' NSLog(@\"%@\", httpResponse);', 2);\n push(\" }\", 1);\n push(\" }];\");\n push(\"[dataTask resume];\");\n return join();\n }\n};\n\n// src/targets/objc/target.ts\nvar objc = {\n info: {\n key: \"objc\",\n title: \"Objective-C\",\n default: \"nsurlsession\"\n },\n clientsById: {\n nsurlsession\n }\n};\n\n// src/targets/ocaml/cohttp/client.ts\nvar cohttp = {\n info: {\n key: \"cohttp\",\n title: \"CoHTTP\",\n link: \"https://github.com/mirage/ocaml-cohttp\",\n description: \"Cohttp is a very lightweight HTTP server using Lwt or Async for OCaml\",\n extname: \".ml\",\n installation: \"opam install cohttp-lwt-unix cohttp-async\"\n },\n convert: ({ fullUrl, allHeaders, postData, method }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const methods = [\"get\", \"post\", \"head\", \"delete\", \"patch\", \"put\", \"options\"];\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n push(\"open Cohttp_lwt_unix\");\n push(\"open Cohttp\");\n push(\"open Lwt\");\n blank();\n push(`let uri = Uri.of_string \"${fullUrl}\" in`);\n const headers = Object.keys(allHeaders);\n if (headers.length === 1) {\n push(\n `let headers = Header.add (Header.init ()) \"${headers[0]}\" \"${escapeForDoubleQuotes(\n allHeaders[headers[0]]\n )}\" in`\n );\n } else if (headers.length > 1) {\n push(\"let headers = Header.add_list (Header.init ()) [\");\n headers.forEach((key) => {\n push(`(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\");`, 1);\n });\n push(\"] in\");\n }\n if (postData.text) {\n push(`let body = Cohttp_lwt_body.of_string ${JSON.stringify(postData.text)} in`);\n }\n blank();\n const h = headers.length ? \"~headers \" : \"\";\n const b = postData.text ? \"~body \" : \"\";\n const m = methods.includes(method.toLowerCase()) ? `\\`${method.toUpperCase()}` : `(Code.method_of_string \"${method}\")`;\n push(`Client.call ${h}${b}${m} uri`);\n push(\">>= fun (res, body_stream) ->\");\n push(\"(* Do stuff with the result *)\", 1);\n return join();\n }\n};\n\n// src/targets/ocaml/target.ts\nvar ocaml = {\n info: {\n key: \"ocaml\",\n title: \"OCaml\",\n default: \"cohttp\"\n },\n clientsById: {\n cohttp\n }\n};\n\n// src/targets/php/helpers.ts\nvar convertType = (obj, indent, lastIndent) => {\n lastIndent = lastIndent || \"\";\n indent = indent || \"\";\n switch (Object.prototype.toString.call(obj)) {\n case \"[object Boolean]\":\n return obj;\n case \"[object Null]\":\n return \"null\";\n case \"[object Undefined]\":\n return \"null\";\n case \"[object String]\":\n return `'${escapeString(obj, { delimiter: \"'\", escapeNewlines: false })}'`;\n case \"[object Number]\":\n return obj.toString();\n case \"[object Array]\": {\n const contents = obj.map((item) => convertType(item, `${indent}${indent}`, indent)).join(`,\n${indent}`);\n return `[\n${indent}${contents}\n${lastIndent}]`;\n }\n case \"[object Object]\": {\n const result = [];\n for (const i in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, i)) {\n result.push(`${convertType(i, indent)} => ${convertType(obj[i], `${indent}${indent}`, indent)}`);\n }\n }\n return `[\n${indent}${result.join(`,\n${indent}`)}\n${lastIndent}]`;\n }\n default:\n return \"null\";\n }\n};\nvar supportedMethods = [\n \"ACL\",\n \"BASELINE_CONTROL\",\n \"CHECKIN\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LABEL\",\n \"LOCK\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCOL\",\n \"MKWORKSPACE\",\n \"MOVE\",\n \"OPTIONS\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PUT\",\n \"REPORT\",\n \"TRACE\",\n \"UNCHECKOUT\",\n \"UNLOCK\",\n \"UPDATE\",\n \"VERSION_CONTROL\"\n];\n\n// src/targets/php/curl/client.ts\nvar curl = {\n info: {\n key: \"curl\",\n title: \"cURL\",\n link: \"http://php.net/manual/en/book.curl.php\",\n description: \"PHP with ext-curl\",\n extname: \".php\"\n },\n convert: ({ uriObj, postData, fullUrl, method, httpVersion, cookies, headersObj }, options = {}) => {\n const {\n closingTag = false,\n indent = \" \",\n maxRedirects = 10,\n namedErrors = false,\n noTags = false,\n shortTags = false,\n timeout = 30\n } = options;\n const { push, blank, join } = new CodeBuilder({ indent });\n if (!noTags) {\n push(shortTags ? \"<?\" : \"<?php\");\n blank();\n }\n push(\"$curl = curl_init();\");\n blank();\n const curlOptions = [\n {\n escape: true,\n name: \"CURLOPT_PORT\",\n value: uriObj.port\n },\n {\n escape: true,\n name: \"CURLOPT_URL\",\n value: fullUrl\n },\n {\n escape: false,\n name: \"CURLOPT_RETURNTRANSFER\",\n value: \"true\"\n },\n {\n escape: true,\n name: \"CURLOPT_ENCODING\",\n value: \"\"\n },\n {\n escape: false,\n name: \"CURLOPT_MAXREDIRS\",\n value: maxRedirects\n },\n {\n escape: false,\n name: \"CURLOPT_TIMEOUT\",\n value: timeout\n },\n {\n escape: false,\n name: \"CURLOPT_HTTP_VERSION\",\n value: httpVersion === \"HTTP/1.0\" ? \"CURL_HTTP_VERSION_1_0\" : \"CURL_HTTP_VERSION_1_1\"\n },\n {\n escape: true,\n name: \"CURLOPT_CUSTOMREQUEST\",\n value: method\n },\n {\n escape: !postData.jsonObj,\n name: \"CURLOPT_POSTFIELDS\",\n value: postData ? postData.jsonObj ? `json_encode(${convertType(postData.jsonObj, indent.repeat(2), indent)})` : postData.text : void 0\n }\n ];\n push(\"curl_setopt_array($curl, [\");\n const curlopts = new CodeBuilder({ indent, join: `\n${indent}` });\n curlOptions.forEach(({ value, name, escape: escape2 }) => {\n if (value !== null && value !== void 0) {\n curlopts.push(`${name} => ${escape2 ? JSON.stringify(value) : value},`);\n }\n });\n const curlCookies = cookies.map((cookie) => `${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}`);\n if (curlCookies.length) {\n curlopts.push(`CURLOPT_COOKIE => \"${curlCookies.join(\"; \")}\",`);\n }\n const headers = Object.keys(headersObj).sort().map((key) => `\"${key}: ${escapeForDoubleQuotes(headersObj[key])}\"`);\n if (headers.length) {\n curlopts.push(\"CURLOPT_HTTPHEADER => [\");\n curlopts.push(headers.join(`,\n${indent}${indent}`), 1);\n curlopts.push(\"],\");\n }\n push(curlopts.join(), 1);\n push(\"]);\");\n blank();\n push(\"$response = curl_exec($curl);\");\n push(\"$err = curl_error($curl);\");\n blank();\n push(\"curl_close($curl);\");\n blank();\n push(\"if ($err) {\");\n if (namedErrors) {\n push('echo array_flip(get_defined_constants(true)[\"curl\"])[$err];', 1);\n } else {\n push('echo \"cURL Error #:\" . $err;', 1);\n }\n push(\"} else {\");\n push(\"echo $response;\", 1);\n push(\"}\");\n if (!noTags && closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/guzzle/client.ts\nvar guzzle = {\n info: {\n key: \"guzzle\",\n title: \"Guzzle\",\n link: \"http://docs.guzzlephp.org/en/stable/\",\n description: \"PHP with Guzzle\",\n extname: \".php\",\n installation: \"composer require guzzlehttp/guzzle\"\n },\n convert: ({ postData, fullUrl, method, cookies, headersObj }, options) => {\n const opts = {\n closingTag: false,\n indent: \" \",\n noTags: false,\n shortTags: false,\n ...options\n };\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n const { code: requestCode, push: requestPush, join: requestJoin } = new CodeBuilder({ indent: opts.indent });\n if (!opts.noTags) {\n push(opts.shortTags ? \"<?\" : \"<?php\");\n }\n push(\"require_once('vendor/autoload.php');\");\n blank();\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n requestPush(`'form_params' => ${convertType(postData.paramsObj, opts.indent + opts.indent, opts.indent)},`, 1);\n break;\n case \"multipart/form-data\": {\n const fields = [];\n if (postData.params) {\n postData.params.forEach((param) => {\n if (param.fileName) {\n const field = {\n name: param.name,\n filename: param.fileName,\n contents: param.value\n };\n if (param.contentType) {\n field.headers = { \"Content-Type\": param.contentType };\n }\n fields.push(field);\n } else if (param.value) {\n fields.push({\n name: param.name,\n contents: param.value\n });\n }\n });\n }\n if (fields.length) {\n requestPush(`'multipart' => ${convertType(fields, opts.indent + opts.indent, opts.indent)}`, 1);\n if (hasHeader(headersObj, \"content-type\")) {\n if (getHeader(headersObj, \"content-type\")?.indexOf(\"boundary\")) {\n const headerName = getHeaderName(headersObj, \"content-type\");\n if (headerName) {\n delete headersObj[headerName];\n }\n }\n }\n }\n break;\n }\n default:\n if (postData.text) {\n requestPush(`'body' => ${convertType(postData.text)},`, 1);\n }\n }\n const headers = Object.keys(headersObj).sort().map(function(key) {\n return `${opts.indent}${opts.indent}'${key}' => '${escapeForSingleQuotes(headersObj[key])}',`;\n });\n const cookieString = cookies.map((cookie) => `${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}`).join(\"; \");\n if (cookieString.length) {\n headers.push(`${opts.indent}${opts.indent}'cookie' => '${escapeForSingleQuotes(cookieString)}',`);\n }\n if (headers.length) {\n requestPush(\"'headers' => [\", 1);\n requestPush(headers.join(\"\\n\"));\n requestPush(\"],\", 1);\n }\n push(\"$client = new \\\\GuzzleHttp\\\\Client();\");\n blank();\n if (requestCode.length) {\n push(`$response = $client->request('${method}', '${fullUrl}', [`);\n push(requestJoin());\n push(\"]);\");\n } else {\n push(`$response = $client->request('${method}', '${fullUrl}');`);\n }\n blank();\n push(\"echo $response->getBody();\");\n if (!opts.noTags && opts.closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/http1/client.ts\nvar http1 = {\n info: {\n key: \"http1\",\n title: \"HTTP v1\",\n link: \"http://php.net/manual/en/book.http.php\",\n description: \"PHP with pecl/http v1\",\n extname: \".php\"\n },\n convert: ({ method, url, postData, queryObj, headersObj, cookiesObj }, options = {}) => {\n const { closingTag = false, indent = \" \", noTags = false, shortTags = false } = options;\n const { push, blank, join } = new CodeBuilder({ indent });\n if (!noTags) {\n push(shortTags ? \"<?\" : \"<?php\");\n blank();\n }\n if (!supportedMethods.includes(method.toUpperCase())) {\n push(`HttpRequest::methodRegister('${method}');`);\n }\n push(\"$request = new HttpRequest();\");\n push(`$request->setUrl(${convertType(url)});`);\n if (supportedMethods.includes(method.toUpperCase())) {\n push(`$request->setMethod(HTTP_METH_${method.toUpperCase()});`);\n } else {\n push(`$request->setMethod(HttpRequest::HTTP_METH_${method.toUpperCase()});`);\n }\n blank();\n if (Object.keys(queryObj).length) {\n push(`$request->setQueryData(${convertType(queryObj, indent)});`);\n blank();\n }\n if (Object.keys(headersObj).length) {\n push(`$request->setHeaders(${convertType(headersObj, indent)});`);\n blank();\n }\n if (Object.keys(cookiesObj).length) {\n push(`$request->setCookies(${convertType(cookiesObj, indent)});`);\n blank();\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n push(`$request->setContentType(${convertType(postData.mimeType)});`);\n push(`$request->setPostFields(${convertType(postData.paramsObj, indent)});`);\n blank();\n break;\n case \"application/json\":\n push(`$request->setContentType(${convertType(postData.mimeType)});`);\n push(`$request->setBody(json_encode(${convertType(postData.jsonObj, indent)}));`);\n blank();\n break;\n default:\n if (postData.text) {\n push(`$request->setBody(${convertType(postData.text)});`);\n blank();\n }\n }\n push(\"try {\");\n push(\"$response = $request->send();\", 1);\n blank();\n push(\"echo $response->getBody();\", 1);\n push(\"} catch (HttpException $ex) {\");\n push(\"echo $ex;\", 1);\n push(\"}\");\n if (!noTags && closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/http2/client.ts\nvar http2 = {\n info: {\n key: \"http2\",\n title: \"HTTP v2\",\n link: \"http://devel-m6w6.rhcloud.com/mdref/http\",\n description: \"PHP with pecl/http v2\",\n extname: \".php\"\n },\n convert: ({ postData, headersObj, method, queryObj, cookiesObj, url }, options = {}) => {\n const { closingTag = false, indent = \" \", noTags = false, shortTags = false } = options;\n const { push, blank, join } = new CodeBuilder({ indent });\n let hasBody = false;\n if (!noTags) {\n push(shortTags ? \"<?\" : \"<?php\");\n blank();\n }\n push(\"$client = new http\\\\Client;\");\n push(\"$request = new http\\\\Client\\\\Request;\");\n blank();\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->append(new http\\\\QueryString(${convertType(postData.paramsObj, indent)}));`);\n blank();\n hasBody = true;\n break;\n case \"multipart/form-data\": {\n if (!postData.params) {\n break;\n }\n const files = [];\n const fields = {};\n postData.params.forEach(({ name, fileName, value, contentType }) => {\n if (fileName) {\n files.push({\n name,\n type: contentType,\n file: fileName,\n data: value\n });\n return;\n }\n if (value) {\n fields[name] = value;\n }\n });\n const field = Object.keys(fields).length ? convertType(fields, indent) : \"null\";\n const formValue = files.length ? convertType(files, indent) : \"null\";\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->addForm(${field}, ${formValue});`);\n if (hasHeader(headersObj, \"content-type\")) {\n if (getHeader(headersObj, \"content-type\")?.indexOf(\"boundary\")) {\n const headerName = getHeaderName(headersObj, \"content-type\");\n if (headerName) {\n delete headersObj[headerName];\n }\n }\n }\n blank();\n hasBody = true;\n break;\n }\n case \"application/json\":\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->append(json_encode(${convertType(postData.jsonObj, indent)}));`);\n hasBody = true;\n break;\n default:\n if (postData.text) {\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->append(${convertType(postData.text)});`);\n blank();\n hasBody = true;\n }\n }\n push(`$request->setRequestUrl(${convertType(url)});`);\n push(`$request->setRequestMethod(${convertType(method)});`);\n if (hasBody) {\n push(\"$request->setBody($body);\");\n blank();\n }\n if (Object.keys(queryObj).length) {\n push(`$request->setQuery(new http\\\\QueryString(${convertType(queryObj, indent)}));`);\n blank();\n }\n if (Object.keys(headersObj).length) {\n push(`$request->setHeaders(${convertType(headersObj, indent)});`);\n blank();\n }\n if (Object.keys(cookiesObj).length) {\n blank();\n push(`$client->setCookies(${convertType(cookiesObj, indent)});`);\n blank();\n }\n push(\"$client->enqueue($request)->send();\");\n push(\"$response = $client->getResponse();\");\n blank();\n push(\"echo $response->getBody();\");\n if (!noTags && closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/target.ts\nvar php = {\n info: {\n key: \"php\",\n title: \"PHP\",\n default: \"curl\",\n cli: \"php %s\"\n },\n clientsById: {\n curl,\n guzzle,\n http1,\n http2\n }\n};\n\n// src/targets/powershell/common.ts\nvar generatePowershellConvert = (command) => {\n const convert = ({ method, headersObj, cookies, uriObj, fullUrl, postData, allHeaders }) => {\n const { push, join } = new CodeBuilder();\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\"];\n if (!methods.includes(method.toUpperCase())) {\n return \"Method not supported\";\n }\n const commandOptions = [];\n const headers = Object.keys(headersObj);\n if (headers.length) {\n push(\"$headers=@{}\");\n headers.forEach((key) => {\n if (key !== \"connection\") {\n push(`$headers.Add(\"${key}\", \"${escapeString(headersObj[key], { escapeChar: \"`\" })}\")`);\n }\n });\n commandOptions.push(\"-Headers $headers\");\n }\n if (cookies.length) {\n push(\"$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession\");\n cookies.forEach((cookie) => {\n push(\"$cookie = New-Object System.Net.Cookie\");\n push(`$cookie.Name = '${cookie.name}'`);\n push(`$cookie.Value = '${cookie.value}'`);\n push(`$cookie.Domain = '${uriObj.host}'`);\n push(\"$session.Cookies.Add($cookie)\");\n });\n commandOptions.push(\"-WebSession $session\");\n }\n if (postData.text) {\n commandOptions.push(\n `-ContentType '${escapeString(getHeader(allHeaders, \"content-type\"), { delimiter: \"'\", escapeChar: \"`\" })}'`\n );\n commandOptions.push(`-Body '${postData.text}'`);\n }\n push(`$response = ${command} -Uri '${fullUrl}' -Method ${method} ${commandOptions.join(\" \")}`.trim());\n return join();\n };\n return convert;\n};\n\n// src/targets/powershell/restmethod/client.ts\nvar restmethod = {\n info: {\n key: \"restmethod\",\n title: \"Invoke-RestMethod\",\n link: \"https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod\",\n description: \"Powershell Invoke-RestMethod client\",\n extname: \".ps1\"\n },\n convert: generatePowershellConvert(\"Invoke-RestMethod\")\n};\n\n// src/targets/powershell/webrequest/client.ts\nvar webrequest = {\n info: {\n key: \"webrequest\",\n title: \"Invoke-WebRequest\",\n link: \"https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest\",\n description: \"Powershell Invoke-WebRequest client\",\n extname: \".ps1\"\n },\n convert: generatePowershellConvert(\"Invoke-WebRequest\")\n};\n\n// src/targets/powershell/target.ts\nvar powershell = {\n info: {\n key: \"powershell\",\n title: \"Powershell\",\n default: \"webrequest\"\n },\n clientsById: {\n webrequest,\n restmethod\n }\n};\n\n// src/targets/python/helpers.ts\nfunction concatValues(concatType, values, pretty, indentation, indentLevel) {\n const currentIndent = indentation.repeat(indentLevel);\n const closingBraceIndent = indentation.repeat(indentLevel - 1);\n const join = pretty ? `,\n${currentIndent}` : \", \";\n const openingBrace = concatType === \"object\" ? \"{\" : \"[\";\n const closingBrace = concatType === \"object\" ? \"}\" : \"]\";\n if (pretty) {\n return `${openingBrace}\n${currentIndent}${values.join(join)}\n${closingBraceIndent}${closingBrace}`;\n }\n if (concatType === \"object\" && values.length > 0) {\n return `${openingBrace} ${values.join(join)} ${closingBrace}`;\n }\n return `${openingBrace}${values.join(join)}${closingBrace}`;\n}\nvar literalRepresentation2 = (value, opts, indentLevel) => {\n indentLevel = indentLevel === void 0 ? 1 : indentLevel + 1;\n switch (Object.prototype.toString.call(value)) {\n case \"[object Number]\":\n return value;\n case \"[object Array]\": {\n let pretty = false;\n const valuesRepresentation = value.map((v) => {\n if (Object.prototype.toString.call(v) === \"[object Object]\") {\n pretty = Object.keys(v).length > 1;\n }\n return literalRepresentation2(v, opts, indentLevel);\n });\n return concatValues(\"array\", valuesRepresentation, pretty, opts.indent, indentLevel);\n }\n case \"[object Object]\": {\n const keyValuePairs = [];\n for (const key in value) {\n keyValuePairs.push(`\"${key}\": ${literalRepresentation2(value[key], opts, indentLevel)}`);\n }\n return concatValues(\"object\", keyValuePairs, opts.pretty && keyValuePairs.length > 1, opts.indent, indentLevel);\n }\n case \"[object Null]\":\n return \"None\";\n case \"[object Boolean]\":\n return value ? \"True\" : \"False\";\n default:\n if (value === null || value === void 0) {\n return \"\";\n }\n return `\"${value.toString().replace(/\"/g, '\\\\\"')}\"`;\n }\n};\n\n// src/targets/python/requests/client.ts\nvar builtInMethods = [\"HEAD\", \"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", \"OPTIONS\"];\nvar requests = {\n info: {\n key: \"requests\",\n title: \"Requests\",\n link: \"http://docs.python-requests.org/en/latest/api/#requests.request\",\n description: \"Requests HTTP library\",\n extname: \".py\",\n installation: \"python -m pip install requests\"\n },\n convert: ({ fullUrl, postData, allHeaders, method }, options) => {\n const opts = {\n indent: \" \",\n pretty: true,\n ...options\n };\n const { push, blank, join, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"import requests\");\n blank();\n push(`url = \"${fullUrl}\"`);\n blank();\n const headers = allHeaders;\n let payload = {};\n const files = {};\n let hasFiles = false;\n let hasPayload = false;\n let jsonPayload = false;\n switch (postData.mimeType) {\n case \"application/json\":\n if (postData.jsonObj) {\n push(`payload = ${literalRepresentation2(postData.jsonObj, opts)}`);\n jsonPayload = true;\n hasPayload = true;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n payload = {};\n postData.params.forEach((p) => {\n if (p.fileName) {\n if (p.contentType) {\n files[p.name] = `('${p.fileName}', open('${p.fileName}', 'rb'), '${p.contentType}')`;\n } else {\n files[p.name] = `('${p.fileName}', open('${p.fileName}', 'rb'))`;\n }\n hasFiles = true;\n } else {\n payload[p.name] = p.value;\n hasPayload = true;\n }\n });\n if (hasFiles) {\n push(`files = ${literalRepresentation2(files, opts)}`);\n if (hasPayload) {\n push(`payload = ${literalRepresentation2(payload, opts)}`);\n }\n const headerName = getHeaderName(headers, \"content-type\");\n if (headerName) {\n delete headers[headerName];\n }\n } else {\n const nonFilePayload = JSON.stringify(postData.text);\n if (nonFilePayload) {\n push(`payload = ${nonFilePayload}`);\n hasPayload = true;\n }\n }\n addPostProcessor(\n (code) => code.replace(/\"\\('(.+)', open\\('(.+)', 'rb'\\)\\)\"/g, '(\"$1\", open(\"$2\", \"rb\"))').replace(/\"\\('(.+)', open\\('(.+)', 'rb'\\), '(.+)'\\)\"/g, '(\"$1\", open(\"$2\", \"rb\"), \"$3\")')\n );\n break;\n default: {\n if (postData.mimeType === \"application/x-www-form-urlencoded\" && postData.paramsObj) {\n push(`payload = ${literalRepresentation2(postData.paramsObj, opts)}`);\n hasPayload = true;\n break;\n }\n const stringPayload = JSON.stringify(postData.text);\n if (stringPayload) {\n push(`payload = ${stringPayload}`);\n hasPayload = true;\n }\n }\n }\n const headerCount = Object.keys(headers).length;\n if (headerCount === 0 && (hasPayload || hasFiles)) {\n blank();\n } else if (headerCount === 1) {\n Object.keys(headers).forEach((header) => {\n push(`headers = {\"${header}\": \"${escapeForDoubleQuotes(headers[header])}\"}`);\n blank();\n });\n } else if (headerCount > 1) {\n let count = 1;\n push(\"headers = {\");\n Object.keys(headers).forEach((header) => {\n if (count !== headerCount) {\n push(`\"${header}\": \"${escapeForDoubleQuotes(headers[header])}\",`, 1);\n } else {\n push(`\"${header}\": \"${escapeForDoubleQuotes(headers[header])}\"`, 1);\n }\n count += 1;\n });\n push(\"}\");\n blank();\n }\n let request2 = builtInMethods.includes(method) ? `response = requests.${method.toLowerCase()}(url` : `response = requests.request(\"${method}\", url`;\n if (hasPayload) {\n if (jsonPayload) {\n request2 += \", json=payload\";\n } else {\n request2 += \", data=payload\";\n }\n }\n if (hasFiles) {\n request2 += \", files=files\";\n }\n if (headerCount > 0) {\n request2 += \", headers=headers\";\n }\n request2 += \")\";\n push(request2);\n blank();\n push(\"print(response.text)\");\n return join();\n }\n};\n\n// src/targets/python/target.ts\nvar python = {\n info: {\n key: \"python\",\n title: \"Python\",\n default: \"requests\",\n cli: \"python3 %s\"\n },\n clientsById: {\n requests\n }\n};\n\n// src/targets/r/httr/client.ts\nvar httr = {\n info: {\n key: \"httr\",\n title: \"httr\",\n link: \"https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html\",\n description: \"httr: Tools for Working with URLs and HTTP\",\n extname: \".r\"\n },\n convert: ({ url, queryObj, queryString, postData, allHeaders, method }) => {\n const { push, blank, join } = new CodeBuilder();\n push(\"library(httr)\");\n blank();\n push(`url <- \"${url}\"`);\n blank();\n const qs = queryObj;\n delete queryObj.key;\n const queryCount = Object.keys(qs).length;\n if (queryString.length === 1) {\n push(`queryString <- list(${Object.keys(qs)} = \"${Object.values(qs).toString()}\")`);\n blank();\n } else if (queryString.length > 1) {\n push(\"queryString <- list(\");\n Object.keys(qs).forEach((query, i) => {\n if (i !== queryCount - 1) {\n push(` ${query} = \"${qs[query].toString()}\",`);\n } else {\n push(` ${query} = \"${qs[query].toString()}\"`);\n }\n });\n push(\")\");\n blank();\n }\n const payload = JSON.stringify(postData.text);\n if (payload) {\n push(`payload <- ${payload}`);\n blank();\n }\n if (postData.text || postData.jsonObj || postData.params) {\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n push('encode <- \"form\"');\n blank();\n break;\n case \"application/json\":\n push('encode <- \"json\"');\n blank();\n break;\n case \"multipart/form-data\":\n push('encode <- \"multipart\"');\n blank();\n break;\n default:\n push('encode <- \"raw\"');\n blank();\n break;\n }\n }\n const cookieHeader = getHeader(allHeaders, \"cookie\");\n const acceptHeader = getHeader(allHeaders, \"accept\");\n const setCookies = cookieHeader ? `set_cookies(\\`${String(cookieHeader).replace(/;/g, '\", `').replace(/` /g, \"`\").replace(/[=]/g, '` = \"')}\")` : void 0;\n const setAccept = acceptHeader ? `accept(\"${escapeForDoubleQuotes(acceptHeader)}\")` : void 0;\n const setContentType = `content_type(\"${escapeForDoubleQuotes(postData.mimeType)}\")`;\n const otherHeaders = Object.entries(allHeaders).filter(([key]) => ![\"cookie\", \"accept\", \"content-type\"].includes(key.toLowerCase())).map(([key, value]) => `'${key}' = '${escapeForSingleQuotes(value)}'`).join(\", \");\n const setHeaders = otherHeaders ? `add_headers(${otherHeaders})` : void 0;\n let request2 = `response <- VERB(\"${method}\", url`;\n if (payload) {\n request2 += \", body = payload\";\n }\n if (queryString.length) {\n request2 += \", query = queryString\";\n }\n const headerAdditions = [setHeaders, setContentType, setAccept, setCookies].filter((x) => !!x).join(\", \");\n if (headerAdditions) {\n request2 += `, ${headerAdditions}`;\n }\n if (postData.text || postData.jsonObj || postData.params) {\n request2 += \", encode = encode\";\n }\n request2 += \")\";\n push(request2);\n blank();\n push('content(response, \"text\")');\n return join();\n }\n};\n\n// src/targets/r/target.ts\nvar r = {\n info: {\n key: \"r\",\n title: \"R\",\n default: \"httr\"\n },\n clientsById: {\n httr\n }\n};\n\n// src/targets/ruby/native/client.ts\nvar native4 = {\n info: {\n key: \"native\",\n title: \"net::http\",\n link: \"http://ruby-doc.org/stdlib-2.2.1/libdoc/net/http/rdoc/Net/HTTP.html\",\n description: \"Ruby HTTP client\",\n extname: \".rb\"\n },\n convert: ({ uriObj, method: rawMethod, fullUrl, postData, allHeaders }) => {\n const { push, blank, join } = new CodeBuilder();\n push(\"require 'uri'\");\n push(\"require 'net/http'\");\n blank();\n const method = rawMethod.toUpperCase();\n const methods = [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"DELETE\",\n \"PATCH\",\n \"PUT\",\n \"OPTIONS\",\n \"COPY\",\n \"LOCK\",\n \"UNLOCK\",\n \"MOVE\",\n \"TRACE\"\n ];\n const capMethod = method.charAt(0) + method.substring(1).toLowerCase();\n if (!methods.includes(method)) {\n push(`class Net::HTTP::${capMethod} < Net::HTTPRequest`);\n push(` METHOD = '${method.toUpperCase()}'`);\n push(` REQUEST_HAS_BODY = '${postData.text ? \"true\" : \"false\"}'`);\n push(\" RESPONSE_HAS_BODY = true\");\n push(\"end\");\n blank();\n }\n push(`url = URI(\"${fullUrl}\")`);\n blank();\n push(\"http = Net::HTTP.new(url.host, url.port)\");\n if (uriObj.protocol === \"https:\") {\n push(\"http.use_ssl = true\");\n }\n blank();\n push(`request = Net::HTTP::${capMethod}.new(url)`);\n const headers = Object.keys(allHeaders);\n if (headers.length) {\n headers.forEach((key) => {\n push(`request[\"${key}\"] = '${escapeForSingleQuotes(allHeaders[key])}'`);\n });\n }\n if (postData.text) {\n push(`request.body = ${JSON.stringify(postData.text)}`);\n }\n blank();\n push(\"response = http.request(request)\");\n push(\"puts response.read_body\");\n return join();\n }\n};\n\n// src/targets/ruby/target.ts\nvar ruby = {\n info: {\n key: \"ruby\",\n title: \"Ruby\",\n default: \"native\"\n },\n clientsById: {\n native: native4\n }\n};\n\n// src/helpers/shell.ts\nvar quote = (value = \"\") => {\n const safe = /^[a-z0-9-_/.@%^=:]+$/i;\n const isShellSafe = safe.test(value);\n if (isShellSafe) {\n return value;\n }\n return `'${value.replace(/'/g, \"'\\\\''\")}'`;\n};\nvar escape = (value) => value.replace(/\\r/g, \"\\\\r\").replace(/\\n/g, \"\\\\n\");\n\n// src/targets/shell/curl/client.ts\nvar params = {\n \"http1.0\": \"0\",\n \"url \": \"\",\n cookie: \"b\",\n data: \"d\",\n form: \"F\",\n globoff: \"g\",\n header: \"H\",\n insecure: \"k\",\n request: \"X\"\n};\nvar getArg = (short) => (longName) => {\n if (short) {\n const shortName = params[longName];\n if (!shortName) {\n return \"\";\n }\n return `-${shortName}`;\n }\n return `--${longName}`;\n};\nvar curl2 = {\n info: {\n key: \"curl\",\n title: \"cURL\",\n link: \"http://curl.haxx.se/\",\n description: \"cURL is a command line tool and library for transferring data with URL syntax\",\n extname: \".sh\"\n },\n convert: ({ fullUrl, method, httpVersion, headersObj, allHeaders, postData }, options = {}) => {\n const { indent = \" \", short = false, binary = false, globOff = false } = options;\n const indentJSON = \" \";\n const { push, join } = new CodeBuilder({\n ...typeof indent === \"string\" ? { indent } : {},\n join: indent !== false ? ` \\\\\n${indent}` : \" \"\n });\n const arg = getArg(short);\n let formattedUrl = quote(fullUrl);\n push(`curl ${arg(\"request\")} ${method}`);\n if (globOff) {\n formattedUrl = unescape(formattedUrl);\n push(arg(\"globoff\"));\n }\n push(`${arg(\"url \")}${formattedUrl}`);\n if (httpVersion === \"HTTP/1.0\") {\n push(arg(\"http1.0\"));\n }\n if (getHeader(allHeaders, \"accept-encoding\")) {\n push(\"--compressed\");\n }\n if (postData.mimeType === \"multipart/form-data\") {\n const contentTypeHeaderName = getHeaderName(headersObj, \"content-type\");\n if (contentTypeHeaderName) {\n const contentTypeHeader = headersObj[contentTypeHeaderName];\n if (contentTypeHeaderName && contentTypeHeader) {\n const noBoundary = String(contentTypeHeader).replace(/; boundary.+?(?=(;|$))/, \"\");\n headersObj[contentTypeHeaderName] = noBoundary;\n allHeaders[contentTypeHeaderName] = noBoundary;\n }\n }\n }\n Object.keys(headersObj).sort().forEach((key) => {\n const header = `${key}: ${headersObj[key]}`;\n push(`${arg(\"header\")} ${quote(header)}`);\n });\n if (allHeaders.cookie) {\n push(`${arg(\"cookie\")} ${quote(allHeaders.cookie)}`);\n }\n switch (postData.mimeType) {\n case \"multipart/form-data\":\n postData.params?.forEach((param) => {\n let post = \"\";\n if (param.fileName) {\n post = `${param.name}='@${param.fileName}'`;\n } else {\n post = quote(`${param.name}=${param.value}`);\n }\n push(`${arg(\"form\")} ${post}`);\n });\n break;\n case \"application/x-www-form-urlencoded\":\n if (postData.params) {\n postData.params.forEach((param) => {\n const unencoded = param.name;\n const encoded = encodeURIComponent(param.name);\n const needsEncoding = encoded !== unencoded;\n const name = needsEncoding ? encoded : unencoded;\n const flag = binary ? \"--data-binary\" : needsEncoding ? \"--data-urlencode\" : arg(\"data\");\n push(`${flag} ${quote(`${name}=${param.value}`)}`);\n });\n } else {\n push(`${binary ? \"--data-binary\" : arg(\"data\")} ${quote(postData.text)}`);\n }\n break;\n default:\n if (!postData.text) {\n break;\n }\n let builtPayload = false;\n if (isMimeTypeJSON(postData.mimeType)) {\n if (postData.text.length > 20) {\n try {\n const jsonPayload = JSON.parse(postData.text);\n builtPayload = true;\n if (postData.text.indexOf(\"'\") > 0) {\n push(\n `${binary ? \"--data-binary\" : arg(\"data\")} @- <<EOF\n${JSON.stringify(\n jsonPayload,\n null,\n indentJSON\n )}\nEOF`\n );\n } else {\n push(\n `${binary ? \"--data-binary\" : arg(\"data\")} '\n${JSON.stringify(jsonPayload, null, indentJSON)}\n'`\n );\n }\n } catch (err) {\n }\n }\n }\n if (!builtPayload) {\n push(`${binary ? \"--data-binary\" : arg(\"data\")} ${quote(postData.text)}`);\n }\n }\n return join();\n }\n};\n\n// src/targets/shell/httpie/client.ts\nvar httpie = {\n info: {\n key: \"httpie\",\n title: \"HTTPie\",\n link: \"http://httpie.org/\",\n description: \"a CLI, cURL-like tool for humans\",\n extname: \".sh\",\n installation: \"brew install httpie\"\n },\n convert: ({ allHeaders, postData, queryObj, fullUrl, method, url }, options) => {\n const opts = {\n body: false,\n cert: false,\n headers: false,\n indent: \" \",\n pretty: false,\n print: false,\n queryParams: false,\n short: false,\n style: false,\n timeout: false,\n verbose: false,\n verify: false,\n ...options\n };\n const { push, join, unshift } = new CodeBuilder({\n indent: opts.indent,\n // @ts-expect-error SEEMS LEGIT\n join: opts.indent !== false ? ` \\\\\n${opts.indent}` : \" \"\n });\n let raw = false;\n const flags = [];\n if (opts.headers) {\n flags.push(opts.short ? \"-h\" : \"--headers\");\n }\n if (opts.body) {\n flags.push(opts.short ? \"-b\" : \"--body\");\n }\n if (opts.verbose) {\n flags.push(opts.short ? \"-v\" : \"--verbose\");\n }\n if (opts.print) {\n flags.push(`${opts.short ? \"-p\" : \"--print\"}=${opts.print}`);\n }\n if (opts.verify) {\n flags.push(`--verify=${opts.verify}`);\n }\n if (opts.cert) {\n flags.push(`--cert=${opts.cert}`);\n }\n if (opts.pretty) {\n flags.push(`--pretty=${opts.pretty}`);\n }\n if (opts.style) {\n flags.push(`--style=${opts.style}`);\n }\n if (opts.timeout) {\n flags.push(`--timeout=${opts.timeout}`);\n }\n if (opts.queryParams) {\n Object.keys(queryObj).forEach((name) => {\n const value = queryObj[name];\n if (Array.isArray(value)) {\n value.forEach((val) => {\n push(`${name}==${quote(val)}`);\n });\n } else {\n push(`${name}==${quote(value)}`);\n }\n });\n }\n Object.keys(allHeaders).sort().forEach((key) => {\n push(`${key}:${quote(allHeaders[key])}`);\n });\n if (postData.mimeType === \"application/x-www-form-urlencoded\") {\n if (postData.params && postData.params.length) {\n flags.push(opts.short ? \"-f\" : \"--form\");\n postData.params.forEach((param) => {\n push(`${param.name}=${quote(param.value)}`);\n });\n }\n } else {\n raw = true;\n }\n const cliFlags = flags.length ? `${flags.join(\" \")} ` : \"\";\n url = quote(opts.queryParams ? url : fullUrl);\n unshift(`http ${cliFlags}${method} ${url}`);\n if (raw && postData.text) {\n const postDataText = quote(postData.text);\n unshift(`echo ${postDataText} | `);\n }\n return join();\n }\n};\n\n// src/targets/shell/wget/client.ts\nvar wget = {\n info: {\n key: \"wget\",\n title: \"Wget\",\n link: \"https://www.gnu.org/software/wget/\",\n description: \"a free software package for retrieving files using HTTP, HTTPS\",\n extname: \".sh\"\n },\n convert: ({ method, postData, allHeaders, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n short: false,\n verbose: false,\n ...options\n };\n const { push, join } = new CodeBuilder({\n ...typeof opts.indent === \"string\" ? { indent: opts.indent } : {},\n join: opts.indent !== false ? ` \\\\\n${opts.indent}` : \" \"\n });\n if (opts.verbose) {\n push(`wget ${opts.short ? \"-v\" : \"--verbose\"}`);\n } else {\n push(`wget ${opts.short ? \"-q\" : \"--quiet\"}`);\n }\n push(`--method ${quote(method)}`);\n Object.keys(allHeaders).forEach((key) => {\n const header = `${key}: ${allHeaders[key]}`;\n push(`--header ${quote(header)}`);\n });\n if (postData.text) {\n push(`--body-data ${escape(quote(postData.text))}`);\n }\n push(opts.short ? \"-O\" : \"--output-document\");\n push(`- ${quote(fullUrl)}`);\n return join();\n }\n};\n\n// src/targets/shell/target.ts\nvar shell = {\n info: {\n key: \"shell\",\n title: \"Shell\",\n default: \"curl\",\n cli: \"%s\"\n },\n clientsById: {\n curl: curl2,\n httpie,\n wget\n }\n};\n\n// src/targets/swift/helpers.ts\nvar buildString = (length, str) => str.repeat(length);\nvar concatArray = (arr, pretty, indentation, indentLevel) => {\n const currentIndent = buildString(indentLevel, indentation);\n const closingBraceIndent = buildString(indentLevel - 1, indentation);\n const join = pretty ? `,\n${currentIndent}` : \", \";\n if (pretty) {\n return `[\n${currentIndent}${arr.join(join)}\n${closingBraceIndent}]`;\n }\n return `[${arr.join(join)}]`;\n};\nvar literalDeclaration = (name, parameters, opts) => `let ${name} = ${literalRepresentation3(parameters, opts)}`;\nvar literalRepresentation3 = (value, opts, indentLevel) => {\n indentLevel = indentLevel === void 0 ? 1 : indentLevel + 1;\n switch (Object.prototype.toString.call(value)) {\n case \"[object Number]\":\n return value;\n case \"[object Array]\": {\n let pretty = false;\n const valuesRepresentation = value.map((v) => {\n if (Object.prototype.toString.call(v) === \"[object Object]\") {\n pretty = Object.keys(v).length > 1;\n }\n return literalRepresentation3(v, opts, indentLevel);\n });\n return concatArray(valuesRepresentation, pretty, opts.indent, indentLevel);\n }\n case \"[object Object]\": {\n const keyValuePairs = [];\n for (const key in value) {\n keyValuePairs.push(`\"${key}\": ${literalRepresentation3(value[key], opts, indentLevel)}`);\n }\n return concatArray(\n keyValuePairs,\n // @ts-expect-error needs better types\n opts.pretty && keyValuePairs.length > 1,\n // @ts-expect-error needs better types\n opts.indent,\n indentLevel\n );\n }\n case \"[object Boolean]\":\n return value.toString();\n default:\n if (value === null || value === void 0) {\n return \"nil\";\n }\n return `\"${value.toString().replace(/\"/g, '\\\\\"')}\"`;\n }\n};\n\n// src/targets/swift/urlsession/client.ts\nvar urlsession = {\n info: {\n key: \"urlsession\",\n title: \"URLSession\",\n link: \"https://developer.apple.com/documentation/foundation/urlsession\",\n description: \"Foundation's URLSession request\",\n extname: \".swift\"\n },\n convert: ({ allHeaders, postData, uriObj, queryObj, method }, options) => {\n const opts = {\n indent: \" \",\n pretty: true,\n timeout: 10,\n ...options\n };\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n push(\"import Foundation\");\n blank();\n const hasBody = postData.text || postData.jsonObj || postData.params;\n if (hasBody) {\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params?.length) {\n const parameters = postData.params.map((p) => `\"${p.name}\": \"${p.value}\"`);\n if (opts.pretty) {\n push(\"let parameters = [\");\n parameters.forEach((param) => push(`${param},`, 1));\n push(\"]\");\n } else {\n push(`let parameters = [${parameters.join(\", \")}]`);\n }\n push('let joinedParameters = parameters.map { \"\\\\($0.key)=\\\\($0.value)\" }.joined(separator: \"&\")');\n push(\"let postData = Data(joinedParameters.utf8)\");\n blank();\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(`${literalDeclaration(\"parameters\", postData.jsonObj, opts)} as [String : Any?]`);\n blank();\n push(\"let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])\");\n blank();\n }\n break;\n case \"multipart/form-data\":\n push(literalDeclaration(\"parameters\", postData.params, opts));\n blank();\n push(`let boundary = \"${postData.boundary}\"`);\n blank();\n push('var body = \"\"');\n push(\"for param in parameters {\");\n push('let paramName = param[\"name\"]!', 1);\n push('body += \"--\\\\(boundary)\\\\r\\\\n\"', 1);\n push('body += \"Content-Disposition:form-data; name=\\\\\"\\\\(paramName)\\\\\"\"', 1);\n push('if let filename = param[\"fileName\"] {', 1);\n push('let contentType = param[\"contentType\"]!', 2);\n push(\"let fileContent = try String(contentsOfFile: filename, encoding: .utf8)\", 2);\n push('body += \"; filename=\\\\\"\\\\(filename)\\\\\"\\\\r\\\\n\"', 2);\n push('body += \"Content-Type: \\\\(contentType)\\\\r\\\\n\\\\r\\\\n\"', 2);\n push(\"body += fileContent\", 2);\n push('} else if let paramValue = param[\"value\"] {', 1);\n push('body += \"\\\\r\\\\n\\\\r\\\\n\\\\(paramValue)\"', 2);\n push(\"}\", 1);\n push(\"}\");\n blank();\n push(\"let postData = Data(body.utf8)\");\n blank();\n break;\n default:\n push(`let postData = Data(\"${postData.text}\".utf8)`);\n blank();\n }\n }\n push(`let url = URL(string: \"${uriObj.href}\")!`);\n const queries = queryObj ? Object.entries(queryObj) : [];\n if (queries.length < 1) {\n push(\"var request = URLRequest(url: url)\");\n } else {\n push(\"var components = URLComponents(url: url, resolvingAgainstBaseURL: true)!\");\n push(\"let queryItems: [URLQueryItem] = [\");\n queries.forEach((query) => {\n const key = query[0];\n const value = query[1];\n switch (Object.prototype.toString.call(value)) {\n case \"[object String]\":\n push(`URLQueryItem(name: \"${key}\", value: \"${value}\"),`, 1);\n break;\n case \"[object Array]\":\n value.forEach((val) => {\n push(`URLQueryItem(name: \"${key}\", value: \"${val}\"),`, 1);\n });\n break;\n }\n });\n push(\"]\");\n push(\"components.queryItems = components.queryItems.map { $0 + queryItems } ?? queryItems\");\n blank();\n push(\"var request = URLRequest(url: components.url!)\");\n }\n push(`request.httpMethod = \"${method}\"`);\n push(`request.timeoutInterval = ${opts.timeout}`);\n if (Object.keys(allHeaders).length) {\n push(`request.allHTTPHeaderFields = ${literalRepresentation3(allHeaders, opts)}`);\n }\n if (hasBody) {\n push(\"request.httpBody = postData\");\n }\n blank();\n push(\"let (data, _) = try await URLSession.shared.data(for: request)\");\n push(\"print(String(decoding: data, as: UTF8.self))\");\n return join();\n }\n};\n\n// src/targets/swift/target.ts\nvar swift = {\n info: {\n key: \"swift\",\n title: \"Swift\",\n default: \"urlsession\"\n },\n clientsById: {\n urlsession\n }\n};\n\n// src/targets/index.ts\nvar targets = {\n c,\n clojure,\n csharp,\n go,\n http,\n java,\n javascript,\n json,\n kotlin,\n node,\n objc,\n ocaml,\n php,\n powershell,\n python,\n r,\n ruby,\n shell,\n swift\n};\nvar isTarget = (target) => {\n if (typeof target !== \"object\" || target === null || Array.isArray(target)) {\n const got = target === null ? \"null\" : Array.isArray(target) ? \"array\" : typeof target;\n throw new Error(`you tried to add a target which is not an object, got type: \"${got}\"`);\n }\n if (!Object.prototype.hasOwnProperty.call(target, \"info\")) {\n throw new Error(\"targets must contain an `info` object\");\n }\n if (!Object.prototype.hasOwnProperty.call(target.info, \"key\")) {\n throw new Error(\"targets must have an `info` object with the property `key`\");\n }\n if (!target.info.key) {\n throw new Error(\"target key must be a unique string\");\n }\n if (Object.prototype.hasOwnProperty.call(targets, target.info.key)) {\n throw new Error(`a target already exists with this key, \\`${target.info.key}\\``);\n }\n if (!Object.prototype.hasOwnProperty.call(target.info, \"title\")) {\n throw new Error(\"targets must have an `info` object with the property `title`\");\n }\n if (!target.info.title) {\n throw new Error(\"target title must be a non-zero-length string\");\n }\n if (!Object.prototype.hasOwnProperty.call(target, \"clientsById\") || !target.clientsById || Object.keys(target.clientsById).length === 0) {\n throw new Error(\n `No clients provided in target ${target.info.key}. You must provide the property \\`clientsById\\` containg your clients.`\n );\n }\n if (!Object.prototype.hasOwnProperty.call(target.info, \"default\")) {\n throw new Error(\"targets must have an `info` object with the property `default`\");\n }\n if (!Object.prototype.hasOwnProperty.call(target.clientsById, target.info.default)) {\n throw new Error(\n `target ${target.info.key} is configured with a default client ${target.info.default}, but no such client was found in the property \\`clientsById\\` (found ${JSON.stringify(\n Object.keys(target.clientsById)\n )})`\n );\n }\n Object.values(target.clientsById).forEach(isClient);\n return true;\n};\nvar addTarget = (target) => {\n if (!isTarget(target)) ;\n targets[target.info.key] = target;\n};\nvar isClient = (client) => {\n if (!client) {\n throw new Error(\"clients must be objects\");\n }\n if (!Object.prototype.hasOwnProperty.call(client, \"info\")) {\n throw new Error(\"targets client must contain an `info` object\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"key\")) {\n throw new Error(\"targets client must have an `info` object with property `key`\");\n }\n if (!client.info.key) {\n throw new Error(\"client.info.key must contain an identifier unique to this target\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"title\")) {\n throw new Error(\"targets client must have an `info` object with property `title`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"description\")) {\n throw new Error(\"targets client must have an `info` object with property `description`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"link\")) {\n throw new Error(\"targets client must have an `info` object with property `link`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"extname\")) {\n throw new Error(\"targets client must have an `info` object with the property `extname`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client, \"convert\") || typeof client.convert !== \"function\") {\n throw new Error(\"targets client must have a `convert` property containing a conversion function\");\n }\n return true;\n};\nvar addClientPlugin = (plugin) => {\n addTargetClient(plugin.target, plugin.client);\n};\nvar addTargetClient = (targetId, client) => {\n if (!isClient(client)) ;\n if (!Object.prototype.hasOwnProperty.call(targets, targetId)) {\n throw new Error(`Sorry, but no ${targetId} target exists to add clients to`);\n }\n if (Object.prototype.hasOwnProperty.call(targets[targetId], client.info.key)) {\n throw new Error(\n `the target ${targetId} already has a client with the key ${client.info.key}, please use a different key`\n );\n }\n targets[targetId].clientsById[client.info.key] = client;\n};\n\nexport { addClientPlugin, addTarget, addTargetClient, getHeaderName, isClient, isTarget, targets };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-UEZF7UNC.js.map","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + (adjustedLength > 0 ? adjustedLength : 0),\n\t\ttrue\n\t);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode<typeof value>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap<object, unknown>} */ var $wm;\n\t/** @type {Map<object, unknown>} */ var $m;\n\t/** @type {import('.').RootNode<unknown>} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? prefix.replace(/\\./g, '%2E') : prefix;\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? key.replace(/\\./g, '%2E') : key;\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictDepth: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && (leaf === '' || (options.strictNullHandling && leaf === null))\n ? []\n : [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, check strictDepth option for throw, else just add whatever is left\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","import { reducer } from './chunk-7LT4AZED.js';\nimport { targets, getHeaderName } from './chunk-UEZF7UNC.js';\nexport { addClientPlugin, addTarget, addTargetClient } from './chunk-UEZF7UNC.js';\nimport './chunk-UPA5TN5W.js';\nimport { parse, format } from 'url';\nimport { stringify } from 'qs';\n\n// src/helpers/utils.ts\nvar availableTargets = () => Object.keys(targets).map((targetId) => ({\n ...targets[targetId].info,\n clients: Object.keys(targets[targetId].clientsById).map(\n (clientId) => targets[targetId].clientsById[clientId].info\n )\n}));\nvar extname = (targetId, clientId) => {\n const target = targets[targetId];\n if (!target) {\n return \"\";\n }\n return target.clientsById[clientId]?.info.extname || \"\";\n};\n\n// src/index.ts\nvar isHarEntry = (value) => typeof value === \"object\" && \"log\" in value && typeof value.log === \"object\" && \"entries\" in value.log && Array.isArray(value.log.entries);\nvar HTTPSnippet = class {\n constructor(input, opts = {}) {\n this.initCalled = false;\n this.entries = [];\n this.requests = [];\n this.options = {};\n this.options = {\n harIsAlreadyEncoded: false,\n ...opts\n };\n this.requests = [];\n if (isHarEntry(input)) {\n this.entries = input.log.entries;\n } else {\n this.entries = [\n {\n request: input\n }\n ];\n }\n }\n init() {\n this.initCalled = true;\n this.requests = this.entries.map(({ request }) => {\n const req = {\n bodySize: 0,\n headersSize: 0,\n headers: [],\n cookies: [],\n httpVersion: \"HTTP/1.1\",\n queryString: [],\n postData: {\n mimeType: request.postData?.mimeType || \"application/octet-stream\"\n },\n ...request\n };\n if (req.postData && !req.postData.mimeType) {\n req.postData.mimeType = \"application/octet-stream\";\n }\n return this.prepare(req, this.options);\n });\n return this;\n }\n prepare(harRequest, options) {\n const request = {\n ...harRequest,\n fullUrl: \"\",\n uriObj: {},\n queryObj: {},\n headersObj: {},\n cookiesObj: {},\n allHeaders: {}\n };\n if (request.queryString && request.queryString.length) {\n request.queryObj = request.queryString.reduce(reducer, {});\n }\n if (request.headers && request.headers.length) {\n const http2VersionRegex = /^HTTP\\/2/;\n request.headersObj = request.headers.reduce((accumulator, { name, value }) => {\n const headerName = http2VersionRegex.exec(request.httpVersion) ? name.toLocaleLowerCase() : name;\n return {\n ...accumulator,\n [headerName]: value\n };\n }, {});\n }\n if (request.cookies && request.cookies.length) {\n request.cookiesObj = request.cookies.reduceRight(\n (accumulator, { name, value }) => ({\n ...accumulator,\n [name]: value\n }),\n {}\n );\n }\n const cookies = request.cookies?.map(({ name, value }) => {\n if (options.harIsAlreadyEncoded) {\n return `${name}=${value}`;\n }\n return `${encodeURIComponent(name)}=${encodeURIComponent(value)}`;\n });\n if (cookies?.length) {\n request.allHeaders.cookie = cookies.join(\"; \");\n }\n switch (request.postData.mimeType) {\n case \"multipart/mixed\":\n case \"multipart/related\":\n case \"multipart/form-data\":\n case \"multipart/alternative\":\n request.postData.text = \"\";\n request.postData.mimeType = \"multipart/form-data\";\n if (request.postData?.params) {\n const boundary = \"---011000010111000001101001\";\n const carriage = `${boundary}--`;\n const rn = \"\\r\\n\";\n const escape = (str) => str.replace(/\\n/g, \"%0A\").replace(/\\r/g, \"%0D\").replace(/\"/g, \"%22\");\n const normalizeLinefeeds = (value) => value.replace(/\\r?\\n|\\r/g, \"\\r\\n\");\n const payload = [`--${boundary}`];\n request.postData?.params.forEach((param, i) => {\n const name = param.name;\n const value = param.value || \"\";\n const filename = param.fileName || null;\n const contentType = param.contentType || \"application/octet-stream\";\n if (filename) {\n payload.push(\n `Content-Disposition: form-data; name=\"${escape(normalizeLinefeeds(name))}\"; filename=\"${filename}\"`\n );\n payload.push(`Content-Type: ${contentType}`);\n } else {\n payload.push(`Content-Disposition: form-data; name=\"${escape(normalizeLinefeeds(name))}\"`);\n }\n payload.push(\"\");\n payload.push(normalizeLinefeeds(value));\n if (i !== request.postData.params.length - 1) {\n payload.push(`--${boundary}`);\n }\n });\n payload.push(`--${carriage}`);\n request.postData.boundary = boundary;\n request.postData.text = payload.join(rn);\n const contentTypeHeader = getHeaderName(request.headersObj, \"content-type\") || \"content-type\";\n request.headersObj[contentTypeHeader] = `multipart/form-data; boundary=${boundary}`;\n }\n break;\n case \"application/x-www-form-urlencoded\":\n if (!request.postData.params) {\n request.postData.text = \"\";\n } else {\n request.postData.paramsObj = request.postData.params.reduce(reducer, {});\n request.postData.text = stringify(request.postData.paramsObj);\n }\n break;\n case \"text/json\":\n case \"text/x-json\":\n case \"application/json\":\n case \"application/x-json\":\n request.postData.mimeType = \"application/json\";\n if (request.postData.text) {\n try {\n request.postData.jsonObj = JSON.parse(request.postData.text);\n } catch (e) {\n request.postData.mimeType = \"text/plain\";\n }\n }\n break;\n }\n const allHeaders = {\n ...request.allHeaders,\n ...request.headersObj\n };\n const urlWithParsedQuery = parse(request.url, true, true);\n request.queryObj = {\n ...request.queryObj,\n ...urlWithParsedQuery.query\n };\n let search;\n if (options.harIsAlreadyEncoded) {\n search = stringify(request.queryObj, {\n encode: false,\n indices: false\n });\n } else {\n search = stringify(request.queryObj, {\n indices: false\n });\n }\n const uriObj = {\n ...urlWithParsedQuery,\n query: request.queryObj,\n search,\n path: search ? `${urlWithParsedQuery.pathname}?${search}` : urlWithParsedQuery.pathname\n };\n const url = format({\n ...urlWithParsedQuery,\n query: null,\n search: null\n });\n const fullUrl = format({\n ...urlWithParsedQuery,\n ...uriObj\n });\n return {\n ...request,\n allHeaders,\n fullUrl,\n url,\n uriObj\n };\n }\n convert(targetId, clientId, options) {\n if (!this.initCalled) {\n this.init();\n }\n if (!options && clientId) {\n options = clientId;\n }\n const target = targets[targetId];\n if (!target) {\n return false;\n }\n const { convert } = target.clientsById[clientId || target.info.default];\n const results = this.requests.map((request) => convert(request, options));\n return results;\n }\n};\n/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */\n\nexport { HTTPSnippet, availableTargets, extname };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=index.js.map","import { HTTPSnippet } from \"@zudoku/httpsnippet\";\nimport type { OperationsFragmentFragment } from \"../graphql/graphql.js\";\n\nexport const createHttpSnippet = ({\n operation,\n selectedServer,\n exampleBody,\n}: {\n operation: OperationsFragmentFragment;\n selectedServer: string;\n exampleBody: {\n mimeType: string;\n text?: string;\n };\n}) => {\n return new HTTPSnippet({\n method: operation.method.toUpperCase(),\n url:\n selectedServer + operation.path.replaceAll(\"{\", \":\").replaceAll(\"}\", \"\"),\n postData: exampleBody,\n headers: [\n ...(exampleBody.text\n ? [{ name: \"Content-Type\", value: exampleBody.mimeType }]\n : []),\n ...(operation.parameters\n ?.filter((p) => p.in === \"header\" && p.required === true)\n .map((p) => ({\n name: p.name,\n value:\n p.schema?.default ??\n p.examples?.find((x) => x.value)?.value ??\n (p.schema?.type === \"string\"\n ? \"<string>\"\n : p.schema?.type === \"number\" || p.schema?.type === \"integer\"\n ? \"<number>\"\n : p.schema?.type === \"boolean\"\n ? \"<bool>\"\n : \"<value>\"),\n })) ?? []),\n ],\n queryString:\n operation.parameters\n ?.filter((p) => p.in === \"query\" && p.required === true)\n .map((p) => ({\n name: p.name,\n value:\n p.schema?.default ??\n p.examples?.find((x) => x.value)?.value ??\n (p.schema?.type === \"string\"\n ? \"<string>\"\n : p.schema?.type === \"number\" || p.schema?.type === \"integer\"\n ? \"<number>\"\n : p.schema?.type === \"boolean\"\n ? \"<bool>\"\n : \"<value>\"),\n })) ?? [],\n httpVersion: \"\",\n cookies: [],\n headersSize: 0,\n bodySize: 0,\n });\n};\n\nexport const getConverted = (snippet: HTTPSnippet, option: string) => {\n // biome-ignore lint/suspicious/noExplicitAny: Allow any type\n let converted: any;\n switch (option) {\n case \"shell\":\n converted = snippet.convert(\"shell\", \"curl\");\n break;\n case \"js\":\n converted = snippet.convert(\"javascript\", \"fetch\");\n break;\n case \"python\":\n converted = snippet.convert(\"python\", \"requests\");\n break;\n case \"java\":\n converted = snippet.convert(\"java\", \"okhttp\");\n break;\n case \"go\":\n converted = snippet.convert(\"go\", \"native\");\n break;\n case \"csharp\":\n converted = snippet.convert(\"csharp\", \"httpclient\");\n break;\n case \"kotlin\":\n converted = snippet.convert(\"kotlin\", \"okhttp\");\n break;\n case \"objc\":\n converted = snippet.convert(\"objc\", \"nsurlsession\");\n break;\n case \"php\":\n converted = snippet.convert(\"php\", \"http2\");\n break;\n case \"ruby\":\n converted = snippet.convert(\"ruby\");\n break;\n case \"swift\":\n converted = snippet.convert(\"swift\");\n break;\n default:\n converted = snippet.convert(\"shell\");\n break;\n }\n\n return converted ? converted[0] : \"\";\n};\n","import type { SchemaObject } from \"../../../oas/graphql/index.js\";\nimport { isCircularRef } from \"../schema/utils.js\";\n\nexport const generateSchemaExample = (\n schema?: SchemaObject,\n name?: string,\n // biome-ignore lint/suspicious/noExplicitAny: Allow any type\n): any => {\n if (!schema || isCircularRef(schema)) {\n return null;\n }\n\n // Check for schema-level example first\n if (schema.example !== undefined) {\n return schema.example;\n }\n\n // Then check for schema-level examples\n if (\n schema.examples &&\n typeof schema.examples === \"object\" &&\n \"default\" in schema.examples\n ) {\n const defaultExample = schema.examples.default;\n if (defaultExample !== null) {\n return typeof defaultExample === \"object\" && \"value\" in defaultExample\n ? defaultExample.value\n : defaultExample;\n }\n }\n\n // No example needed for const values\n if (schema.const !== undefined) {\n return schema.const;\n }\n\n // For object schemas with properties\n if (schema.type === \"object\" && schema.properties) {\n // biome-ignore lint/suspicious/noExplicitAny: Allow any type\n const example: Record<string, any> = {};\n\n for (const [key, propSchema] of Object.entries(schema.properties)) {\n if (typeof propSchema === \"object\") {\n example[key] = generateSchemaExample(propSchema as SchemaObject, key);\n }\n }\n\n return example;\n }\n\n if (schema.type === \"array\") {\n if (Array.isArray(schema.items)) {\n return schema.items.map((itemSchema) =>\n generateSchemaExample(itemSchema as SchemaObject),\n );\n }\n if (schema.items) {\n return [generateSchemaExample(schema.items as SchemaObject)];\n }\n return [];\n }\n\n if (schema.format !== undefined) {\n // Partial implementation of JSON Schema format examples\n // https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#rfc.section.7.3\n switch (schema.format) {\n case \"date-time\":\n return \"2024-08-25T15:00:00Z\";\n case \"date\":\n return \"2024-08-25\";\n case \"time\":\n return \"15:00:00\";\n case \"email\":\n return \"test@example.com\";\n case \"uri\":\n return \"https://www.example.com/path/to/resource\";\n case \"uri-reference\":\n return \"/path/to/resource\";\n case \"uuid\":\n return \"00000000-0000-0000-0000-000000000000\";\n }\n }\n\n if (schema.enum) {\n return schema.enum[0];\n }\n\n if (schema.oneOf && schema.oneOf.length > 0) {\n return generateSchemaExample(schema.oneOf[0]);\n }\n\n if (schema.anyOf && schema.anyOf.length > 0) {\n // Should likely be expanded to return a partial set of values, but it would require\n // detection if being used within an array or a string type.\n return generateSchemaExample(schema.anyOf[0]);\n }\n\n // Check for property-level examples\n if (\n schema.examples &&\n Array.isArray(schema.examples) &&\n schema.examples.length > 0\n ) {\n return schema.examples[0];\n }\n\n switch (schema.type) {\n case \"string\":\n return name || \"string\";\n case \"number\":\n case \"integer\":\n return 0;\n case \"boolean\":\n return true;\n case \"null\":\n return null;\n case \"object\":\n return {};\n default:\n return {};\n }\n};\n","export const TextColorMap = {\n green: \"text-green-600\",\n blue: \"text-sky-600\",\n yellow: \"text-yellow-600\",\n red: \"text-red-600\",\n purple: \"text-purple-600\",\n indigo: \"text-indigo-600\",\n gray: \"text-gray-600\",\n};\n\nexport const methodToColor = {\n get: TextColorMap.green,\n post: TextColorMap.blue,\n put: TextColorMap.yellow,\n delete: TextColorMap.red,\n patch: TextColorMap.purple,\n options: TextColorMap.indigo,\n head: TextColorMap.gray,\n trace: TextColorMap.gray,\n};\n\nexport const methodForColor = (method: string) => {\n return (\n methodToColor[method.toLocaleLowerCase() as keyof typeof methodToColor] ??\n TextColorMap.gray\n );\n};\n","import { useMemo, useState, useTransition } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { useZudoku } from \"zudoku/hooks\";\nimport { Badge } from \"zudoku/ui/Badge.js\";\nimport { NativeSelect, NativeSelectOption } from \"zudoku/ui/NativeSelect.js\";\nimport { SyntaxHighlight } from \"zudoku/ui/SyntaxHighlight.js\";\nimport { useAuthState } from \"../../authentication/state.js\";\nimport { PathRenderer } from \"../../components/PathRenderer.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { useOnScreen } from \"../../util/useOnScreen.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport { NonHighlightedCode } from \"./components/NonHighlightedCode.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { GeneratedExampleSidecarBox } from \"./GeneratedExampleSidecarBox.js\";\nimport type { OperationsFragmentFragment } from \"./graphql/graphql.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { PlaygroundDialogWrapper } from \"./PlaygroundDialogWrapper.js\";\nimport { RequestBodySidecarBox } from \"./RequestBodySidecarBox.js\";\nimport { ResponsesSidecarBox } from \"./ResponsesSidecarBox.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\nimport { createHttpSnippet, getConverted } from \"./util/createHttpSnippet.js\";\nimport { generateSchemaExample } from \"./util/generateSchemaExample.js\";\nimport { methodForColor } from \"./util/methodToColor.js\";\n\nexport const GetServerQuery = graphql(/* GraphQL */ `\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n`);\n\nconst EXAMPLE_LANGUAGES = [\n { value: \"shell\", label: \"cURL\" },\n { value: \"js\", label: \"JavaScript\" },\n { value: \"python\", label: \"Python\" },\n { value: \"java\", label: \"Java\" },\n { value: \"go\", label: \"Go\" },\n { value: \"csharp\", label: \"C#\" },\n { value: \"kotlin\", label: \"Kotlin\" },\n { value: \"objc\", label: \"Objective-C\" },\n { value: \"php\", label: \"PHP\" },\n { value: \"ruby\", label: \"Ruby\" },\n { value: \"swift\", label: \"Swift\" },\n];\n\nexport const Sidecar = ({\n operation,\n selectedResponse,\n globalSelectedServer,\n shouldLazyHighlight,\n}: {\n operation: OperationsFragmentFragment;\n selectedResponse?: string;\n globalSelectedServer?: string;\n shouldLazyHighlight?: boolean;\n}) => {\n const { options } = useOasConfig();\n const auth = useAuthState();\n const context = useZudoku();\n\n const methodTextColor = methodForColor(operation.method);\n\n const [searchParams, setSearchParams] = useSearchParams();\n const [, startTransition] = useTransition();\n\n const supportedLanguages = options?.supportedLanguages ?? EXAMPLE_LANGUAGES;\n\n const preferredLang =\n searchParams.get(\"lang\") ?? options?.examplesLanguage ?? \"shell\";\n\n const selectedLang =\n supportedLanguages.find((lang) => lang.value === preferredLang)?.value ??\n supportedLanguages.at(0)?.value ??\n \"shell\";\n\n const requestBodyContent = operation.requestBody?.content;\n const transformedRequestBodyContent =\n requestBodyContent && options?.transformExamples\n ? options.transformExamples({\n auth,\n type: \"request\",\n operation,\n content: requestBodyContent,\n context,\n })\n : requestBodyContent;\n\n const [selectedRequestExample, setSelectedRequestExample] = useState<{\n contentTypeIndex: number;\n exampleIndex: number;\n }>({\n contentTypeIndex: 0,\n exampleIndex: 0,\n });\n\n const selectedContent = transformedRequestBodyContent?.at(\n selectedRequestExample.contentTypeIndex,\n );\n const currentExample = selectedContent?.examples?.at(\n selectedRequestExample.exampleIndex,\n );\n\n const currentExampleCode = currentExample\n ? (currentExample?.value ?? currentExample)\n : selectedContent?.schema\n ? generateSchemaExample(selectedContent?.schema)\n : undefined;\n\n const path = (\n <PathRenderer\n path={operation.path}\n renderParam={({ name }) => (\n <ColorizedParam\n name={name}\n backgroundOpacity=\"0\"\n className=\"py-px px-0.5\"\n // same as in `ParameterListItem`\n slug={`${operation.slug}-${name}`}\n >\n {`{${name}}`}\n </ColorizedParam>\n )}\n />\n );\n\n // Manual server selection takes precedence over the server hierarchy.\n // If no manual selection, fall back to operation's first server (already respects operation > path > global hierarchy)\n const selectedServer =\n globalSelectedServer || operation.servers.at(0)?.url || \"\";\n\n const httpSnippetCode = useMemo<string | undefined>(() => {\n const converted = options?.generateCodeSnippet?.({\n selectedLang,\n selectedServer,\n context,\n operation,\n example: currentExampleCode,\n auth,\n });\n\n if (converted) return converted;\n\n const snippet = createHttpSnippet({\n operation,\n selectedServer,\n exampleBody: currentExampleCode\n ? {\n mimeType: \"application/json\",\n text: JSON.stringify(currentExampleCode, null, 2),\n }\n : { mimeType: \"application/json\" },\n });\n\n return getConverted(snippet, selectedLang);\n }, [\n currentExampleCode,\n operation,\n selectedServer,\n selectedLang,\n options,\n auth,\n context,\n ]);\n\n const [ref, isOnScreen] = useOnScreen({ rootMargin: \"200px 0px 200px 0px\" });\n\n const showPlayground =\n isOnScreen &&\n (operation.extensions[\"x-explorer-enabled\"] === true ||\n operation.extensions[\"x-zudoku-playground-enabled\"] === true ||\n (operation.extensions[\"x-explorer-enabled\"] === undefined &&\n operation.extensions[\"x-zudoku-playground-enabled\"] === undefined &&\n !options?.disablePlayground));\n\n const hasResponseExamples = operation.responses.some((response) =>\n response.content?.some((content) => (content.examples?.length ?? 0) > 0),\n );\n\n return (\n <aside\n ref={ref}\n className=\"flex flex-col sticky top-(--scroll-padding) gap-4\"\n data-pagefind-ignore=\"all\"\n >\n <SidecarBox.Root>\n <SidecarBox.Head className=\"py-1.5\">\n <div className=\"flex items-center flex-wrap gap-2 justify-between w-full\">\n <span className=\"font-mono wrap-break-word leading-6 space-x-1\">\n <Badge\n variant=\"outline\"\n className={cn(\n methodTextColor,\n \"px-1.5 rounded-md border-none bg-current/7 dark:bg-current/15\",\n )}\n >\n {operation.method.toUpperCase()}\n </Badge>\n {path}\n </span>\n <div className=\"flex items-center gap-1\">\n <NativeSelect\n className=\"py-0.5 h-fit max-w-32 truncate bg-background\"\n value={selectedLang}\n onChange={(e) => {\n startTransition(() => {\n setSearchParams((prev) => {\n prev.set(\"lang\", e.target.value);\n return prev;\n });\n });\n }}\n >\n {supportedLanguages.map((language) => (\n <NativeSelectOption\n key={language.value}\n value={language.value}\n >\n {language.label}\n </NativeSelectOption>\n ))}\n </NativeSelect>\n {showPlayground && (\n <PlaygroundDialogWrapper\n servers={operation.servers.map((server) => server.url)}\n operation={operation}\n examples={requestBodyContent ?? undefined}\n />\n )}\n </div>\n </div>\n </SidecarBox.Head>\n <SidecarBox.Body>\n {shouldLazyHighlight && !isOnScreen ? (\n <NonHighlightedCode code={httpSnippetCode ?? \"\"} />\n ) : (\n <SyntaxHighlight\n embedded\n language={selectedLang}\n className=\"[--scrollbar-color:gray] rounded-none text-xs max-h-[200px]\"\n // biome-ignore lint/style/noNonNullAssertion: code is guaranteed to be defined\n code={httpSnippetCode!}\n />\n )}\n </SidecarBox.Body>\n </SidecarBox.Root>\n\n {transformedRequestBodyContent && currentExample ? (\n <RequestBodySidecarBox\n content={transformedRequestBodyContent}\n onExampleChange={(selected) => {\n setSelectedRequestExample(selected);\n }}\n selectedContentIndex={selectedRequestExample.contentTypeIndex}\n selectedExampleIndex={selectedRequestExample.exampleIndex}\n isOnScreen={isOnScreen}\n shouldLazyHighlight={shouldLazyHighlight}\n />\n ) : transformedRequestBodyContent && currentExampleCode ? (\n <GeneratedExampleSidecarBox\n isOnScreen={isOnScreen}\n shouldLazyHighlight={shouldLazyHighlight}\n code={JSON.stringify(currentExampleCode, null, 2)}\n />\n ) : null}\n\n {hasResponseExamples ? (\n <ResponsesSidecarBox\n isOnScreen={isOnScreen}\n shouldLazyHighlight={shouldLazyHighlight}\n selectedResponse={selectedResponse}\n responses={operation.responses.map((response) => ({\n ...response,\n content:\n response.content && options?.transformExamples\n ? options.transformExamples({\n auth,\n type: \"response\",\n context,\n operation,\n content: response.content,\n })\n : response.content,\n }))}\n />\n ) : (\n <ResponsesSidecarBox\n isGenerated\n isOnScreen={isOnScreen}\n shouldLazyHighlight={shouldLazyHighlight}\n selectedResponse={selectedResponse}\n responses={operation.responses.map((response) => ({\n ...response,\n content: response.content?.map((content) => ({\n ...content,\n examples: content.schema\n ? [{ name: \"\", value: generateSchemaExample(content.schema) }]\n : content.examples,\n })),\n }))}\n />\n )}\n </aside>\n );\n};\n","import { useState } from \"react\";\nimport { Badge } from \"zudoku/ui/Badge.js\";\nimport { Separator } from \"zudoku/ui/Separator.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { PagefindSearchMeta } from \"../../components/PagefindSearchMeta.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { groupBy } from \"../../util/groupBy.js\";\nimport { renderIf } from \"../../util/renderIf.js\";\nimport { ResponseContent } from \"./components/ResponseContent.js\";\nimport { SelectOnClick } from \"./components/SelectOnClick.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { type FragmentType, useFragment } from \"./graphql/index.js\";\nimport { MCPEndpoint } from \"./MCPEndpoint.js\";\nimport { OperationsFragment } from \"./OperationList.js\";\nimport { ParameterList } from \"./ParameterList.js\";\nimport { Sidecar } from \"./Sidecar.js\";\nimport { SchemaView } from \"./schema/SchemaView.js\";\nimport { methodForColor } from \"./util/methodToColor.js\";\n\nconst PARAM_GROUPS = [\"path\", \"query\", \"header\", \"cookie\"] as const;\nexport type ParameterGroup = (typeof PARAM_GROUPS)[number];\n\nexport const OperationListItem = ({\n operationFragment,\n globalSelectedServer,\n shouldLazyHighlight,\n}: {\n operationFragment: FragmentType<typeof OperationsFragment>;\n globalSelectedServer?: string;\n shouldLazyHighlight?: boolean;\n}) => {\n const operation = useFragment(OperationsFragment, operationFragment);\n const groupedParameters = groupBy(\n operation.parameters ?? [],\n (param) => param.in,\n );\n const { options } = useOasConfig();\n\n // Manual server selection takes precedence over the server hierarchy.\n // If no manual selection, fall back to operation's first server (already respects operation > path > global hierarchy)\n const displayServerUrl = globalSelectedServer || operation.servers.at(0)?.url;\n\n const first = operation.responses.at(0);\n const [selectedResponse, setSelectedResponse] = useState(first?.statusCode);\n const isMCPEndpoint = operation.extensions?.[\"x-mcp-server\"] !== undefined;\n\n return (\n <div>\n {operation.deprecated && (\n <Badge variant=\"muted\" className=\"text-xs mb-4\">\n deprecated\n </Badge>\n )}\n <div\n key={operation.operationId}\n className={cn(\n \"grid grid-cols-1 lg:grid-cols-[minmax(0,4fr)_minmax(0,3fr)] gap-x-8 gap-y-4 items-start\",\n operation.deprecated && \"opacity-50 transition hover:opacity-100\",\n )}\n >\n <Heading\n level={2}\n id={operation.slug}\n registerNavigationAnchor\n className=\"break-all col-span-full\"\n >\n {operation.summary}\n </Heading>\n {!isMCPEndpoint && (\n <div className=\"text-sm flex gap-2 font-mono col-span-full\">\n <span className={methodForColor(operation.method)}>\n {operation.method.toUpperCase()}\n </span>\n <SelectOnClick className=\"max-w-full truncate flex cursor-pointer\">\n {displayServerUrl && (\n <div className=\"text-neutral-400 dark:text-neutral-500 truncate\">\n {displayServerUrl.replace(/\\/$/, \"\")}\n </div>\n )}\n <div className=\"text-neutral-900 dark:text-neutral-200\">\n {operation.path}\n </div>\n </SelectOnClick>\n </div>\n )}\n\n {isMCPEndpoint ? (\n <div className=\"col-span-full\">\n <MCPEndpoint\n serverUrl={displayServerUrl}\n summary={operation.summary ?? undefined}\n data={operation.extensions?.[\"x-mcp-server\"]}\n />\n </div>\n ) : (\n <div\n className={cn(\n \"flex flex-col gap-4\",\n options?.disableSidecar && \"col-span-full\",\n )}\n >\n {operation.description && (\n <Markdown\n className=\"max-w-full prose-img:max-w-prose\"\n content={operation.description}\n />\n )}\n {operation.parameters &&\n operation.parameters.length > 0 &&\n PARAM_GROUPS.flatMap((group) =>\n groupedParameters[group]?.length ? (\n <ParameterList\n key={group}\n summary={operation.summary ?? undefined}\n id={operation.slug}\n parameters={groupedParameters[group]}\n group={group}\n />\n ) : (\n []\n ),\n )}\n {renderIf(operation.requestBody?.content?.at(0)?.schema, () => (\n <Separator className=\"my-4\" />\n ))}\n {renderIf(\n operation.requestBody?.content?.at(0)?.schema,\n (schema) => (\n <div className=\"flex flex-col gap-4\">\n <Heading\n level={3}\n className=\"capitalize flex items-center gap-2\"\n id={`${operation.slug}/request-body`}\n >\n {operation.summary && (\n <PagefindSearchMeta>\n {operation.summary} &rsaquo;{\" \"}\n </PagefindSearchMeta>\n )}\n Request Body{\" \"}\n {operation.requestBody?.required === false ? (\n <Badge variant=\"muted\">optional</Badge>\n ) : (\n \"\"\n )}\n </Heading>\n <SchemaView schema={schema} />\n </div>\n ),\n )}\n <Separator className=\"my-4\" />\n {operation.responses.length > 0 && (\n <>\n <Heading level={3} id={`${operation.slug}/responses`}>\n {operation.summary && (\n <PagefindSearchMeta>\n {operation.summary} &rsaquo;{\" \"}\n </PagefindSearchMeta>\n )}\n Responses\n </Heading>\n <ResponseContent\n responses={operation.responses}\n selectedResponse={selectedResponse}\n onSelectResponse={setSelectedResponse}\n />\n </>\n )}\n </div>\n )}\n\n {renderIf(!options?.disableSidecar && !isMCPEndpoint, () => (\n <Sidecar\n selectedResponse={selectedResponse}\n operation={operation}\n globalSelectedServer={globalSelectedServer}\n shouldLazyHighlight={shouldLazyHighlight}\n />\n ))}\n </div>\n </div>\n );\n};\n","export function sanitizeMarkdownForMetatag(\n description: string,\n maxLength: number = 160,\n): string {\n if (!description) {\n return \"\";\n }\n\n return (\n description\n // Replace Markdown links [text](url) with just \"text\"\n .replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, \"$1\")\n // Remove Markdown image syntax: ![alt](url)\n .replace(/!\\[.*?\\]\\(.*?\\)/g, \"\")\n // Remove other Markdown syntax (e.g., **bold**, _italic_, `code`)\n .replace(/[_*`~]/g, \"\")\n // Remove headings (# Heading), blockquotes (> Quote), and horizontal rules (--- or ***)\n .replace(/^(?:>|\\s*#+|-{3,}|\\*{3,})/gm, \"\")\n // Remove any remaining formatting characters\n .replace(/[|>{}[\\]]/g, \"\")\n // Collapse multiple spaces and trim the text\n .replace(/\\s+/g, \" \")\n .trim()\n // Limit to the specified maximum length\n .substring(0, maxLength)\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/'/g, \"&#039;\")\n );\n}\n","import { useQuery, useSuspenseQuery } from \"@tanstack/react-query\";\nimport { Helmet } from \"@zudoku/react-helmet-async\";\nimport { ChevronsDownUpIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport { useNavigate, useParams } from \"react-router\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"zudoku/ui/Collapsible.js\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"zudoku/ui/Select.js\";\nimport { CategoryHeading } from \"../../components/CategoryHeading.js\";\nimport { useApiIdentities } from \"../../components/context/ZudokuContext.js\";\nimport { Heading } from \"../../components/Heading.js\";\nimport { Markdown } from \"../../components/Markdown.js\";\nimport { PagefindSearchMeta } from \"../../components/PagefindSearchMeta.js\";\nimport { Pagination } from \"../../components/Pagination.js\";\nimport { joinUrl } from \"../../util/joinUrl.js\";\nimport { useCreateQuery } from \"./client/useCreateQuery.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { DownloadSchemaButton } from \"./DownloadSchemaButton.js\";\nimport { Endpoint } from \"./Endpoint.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport { UNTAGGED_PATH } from \"./index.js\";\nimport { OperationListItem } from \"./OperationListItem.js\";\nimport { useSelectedServer } from \"./state.js\";\nimport { sanitizeMarkdownForMetatag } from \"./util/sanitizeMarkdownForMetatag.js\";\n\nexport const OperationsFragment = graphql(/* GraphQL */ `\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n deprecated\n extensions\n servers {\n url\n description\n }\n parameters {\n name\n in\n description\n required\n schema\n style\n explode\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n`);\n\nconst SchemaWarmupQuery = graphql(/* GraphQL */ `\n query SchemaWarmup($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n openapi\n }\n }\n`);\n\nconst OperationsForTagQuery = graphql(/* GraphQL */ `\n query OperationsForTag(\n $input: JSON!\n $type: SchemaType!\n $tag: String\n $untagged: Boolean\n ) {\n schema(input: $input, type: $type) {\n servers {\n url\n }\n description\n summary\n title\n url\n version\n tag(slug: $tag, untagged: $untagged) {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n extensions\n next {\n name\n slug\n extensions\n }\n prev {\n name\n slug\n extensions\n }\n }\n }\n }\n`);\n\nconst LAZY_OPERATION_LIST_THRESHOLD = 30;\n\nexport const OperationList = ({\n tag,\n untagged,\n}: {\n tag?: string;\n untagged?: boolean;\n}) => {\n const { path, input, type, versions, version, options } = useOasConfig();\n const { tag: tagFromParams } = useParams<\"tag\">();\n const query = useCreateQuery(OperationsForTagQuery, {\n input,\n type,\n tag: tag ?? tagFromParams,\n untagged,\n });\n const result = useSuspenseQuery(query);\n const {\n data: { schema },\n } = result;\n // Global server selection for the dropdown UI\n const { selectedServer: globalSelectedServer } = useSelectedServer(\n schema.servers,\n );\n const title = schema.title;\n const summary = schema.summary;\n const description = schema.description;\n const navigate = useNavigate();\n\n // This is to warmup (i.e. load the schema in the background) the schema on the client, if the page has been rendered on the server\n const warmupQuery = useCreateQuery(SchemaWarmupQuery, { input, type });\n useQuery({\n ...warmupQuery,\n enabled: typeof window !== \"undefined\",\n notifyOnChangeProps: [],\n });\n\n // Prefetch for Playground\n useApiIdentities();\n\n if (!schema.tag) {\n return (\n <div className=\"flex flex-col h-full items-center justify-center text-center\">\n <div className=\"text-muted-foreground font-medium\">\n No operations found\n </div>\n <div className=\"mt-2 text-sm text-muted-foreground\">\n This API doesn't have any operations defined yet.\n </div>\n </div>\n );\n }\n\n const { operations, next, prev, description: tagDescription } = schema.tag;\n\n // Simple heuristic to determine if we should lazy highlight the code\n // This is to avoid the performance issues when there are a lot of operations\n const shouldLazyHighlight = operations.length > LAZY_OPERATION_LIST_THRESHOLD;\n\n // The summary property is preferable here as it is a short description of\n // the API, whereas the description property is typically longer and supports\n // commonmark formatting, making it ill-suited for use in the meta description\n const metaDescription = tagDescription\n ? sanitizeMarkdownForMetatag(tagDescription)\n : summary\n ? summary\n : description\n ? sanitizeMarkdownForMetatag(description)\n : undefined;\n\n const hasMultipleVersions = Object.entries(versions).length > 1;\n\n const showVersions =\n options?.showVersionSelect === \"always\" ||\n (hasMultipleVersions && options?.showVersionSelect !== \"hide\");\n\n const paginationProps = {\n prev: prev\n ? {\n to: `../${prev.slug}`,\n label: prev.extensions?.[\"x-displayName\"] ?? prev.name,\n }\n : undefined,\n next: next\n ? {\n to: `../${next.slug ?? UNTAGGED_PATH}`,\n label:\n next.extensions?.[\"x-displayName\"] ??\n next.name ??\n \"Other endpoints\",\n }\n : undefined,\n };\n\n const tagTitle = schema.tag.extensions?.[\"x-displayName\"] ?? schema.tag.name;\n const helmetTitle = [tagTitle, title].filter(Boolean).join(\" - \");\n\n const downloadUrl =\n typeof input === \"string\"\n ? type === \"url\"\n ? input\n : joinUrl(path, version, input.split(\"/\").pop())\n : undefined;\n\n return (\n <div\n className=\"pt-(--padding-content-top)\"\n data-pagefind-filter=\"section:openapi\"\n data-pagefind-meta=\"section:openapi\"\n >\n <PagefindSearchMeta name=\"category\">{title}</PagefindSearchMeta>\n <Helmet>\n {helmetTitle && <title>{helmetTitle}</title>}\n {metaDescription && (\n <meta name=\"description\" content={metaDescription} />\n )}\n </Helmet>\n\n <div className=\"mb-8\">\n <Collapsible\n className=\"w-full\"\n defaultOpen={options?.expandApiInformation}\n >\n <div className=\"flex flex-col gap-4 sm:flex-row justify-around items-start sm:items-end\">\n <div className=\"flex flex-col flex-1 gap-2\">\n <CategoryHeading>{title}</CategoryHeading>\n <Heading\n level={1}\n id=\"description\"\n registerNavigationAnchor\n className=\"mb-0\"\n >\n {tagTitle}\n {showVersions && (\n <span className=\"text-xl text-muted-foreground ms-1.5\">\n {\" \"}\n ({version})\n </span>\n )}\n </Heading>\n <Endpoint />\n </div>\n <div className=\"flex flex-col gap-4 sm:items-end\">\n <div className=\"flex gap-2 items-center\">\n {showVersions && (\n <Select\n onValueChange={(version) =>\n // biome-ignore lint/style/noNonNullAssertion: is guaranteed to be defined\n navigate(versions[version]!.path)\n }\n defaultValue={version}\n disabled={!hasMultipleVersions}\n >\n <SelectTrigger className=\"w-[180px]\" size=\"sm\">\n <SelectValue placeholder=\"Select version\" />\n </SelectTrigger>\n <SelectContent>\n {Object.entries(versions).map(([version, { label }]) => (\n <SelectItem key={version} value={version}>\n {label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )}\n {options?.schemaDownload?.enabled && downloadUrl && (\n <DownloadSchemaButton downloadUrl={downloadUrl} />\n )}\n </div>\n {schema.description && (\n <CollapsibleTrigger className=\"flex items-center gap-1 text-sm font-medium text-muted-foreground group\">\n <span>API information</span>\n\n <ChevronsUpDownIcon\n className=\"group-data-[state=open]:hidden translate-y-px\"\n size={14}\n />\n <ChevronsDownUpIcon\n className=\"group-data-[state=closed]:hidden translate-y-px\"\n size={13}\n />\n </CollapsibleTrigger>\n )}\n </div>\n </div>\n {schema.description && (\n <CollapsibleContent className=\"CollapsibleContent\">\n <div className=\"mt-4 max-w-full border rounded-sm bg-muted/25\">\n <Markdown\n className=\"max-w-full prose-img:max-w-prose border-border p-3 lg:p-5\"\n content={schema.description}\n />\n </div>\n </CollapsibleContent>\n )}\n </Collapsible>\n {tagDescription && (\n <Markdown\n className=\"my-4 max-w-full prose-img:max-w-prose\"\n content={tagDescription}\n />\n )}\n </div>\n <hr />\n {/* px, -mx is so that `content-visibility` doesn't cut off overflown heading anchor links '#' */}\n <div className=\"px-6 mt-6 -mx-6 [content-visibility:auto]\">\n {operations.map((fragment) => (\n <div key={fragment.slug}>\n <OperationListItem\n operationFragment={fragment}\n globalSelectedServer={globalSelectedServer}\n shouldLazyHighlight={shouldLazyHighlight}\n />\n <hr className=\"my-10\" />\n </div>\n ))}\n <Pagination className=\"mb-4\" {...paginationProps} />\n </div>\n </div>\n );\n};\n"],"names":["useFragment","_documentNode","fragmentType","buttonGroupVariants","cva","ButtonGroup","className","orientation","props","jsx","cn","DownloadSchemaButton","downloadUrl","copyToClipboard","useCopyToClipboard","handleDownload","e","response","blob","url","a","error","Button","DownloadIcon","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","jsxs","DropdownMenuContent","DropdownMenuItem","ExternalLinkIcon","schema","CopyIcon","prompt","ClaudeLogo","ChatGPTLogo","SimpleSelect","value","onChange","options","showChevrons","option","ChevronsUpDownIcon","ServersQuery","graphql","CopyButton","isCopied","setIsCopied","useState","CheckIcon","Endpoint","input","type","useOasConfig","query","useCreateQuery","result","useSuspenseQuery","startTransition","useTransition","selectedServer","setSelectedServer","useSelectedServer","servers","firstServer","server","InlineCode","badgeVariants","Badge","variant","asChild","Comp","Slot","renderIf","variable","callback","NativeSelect","NativeSelectOption","cnUtil","ResponseContent","responses","selectedResponse","onSelectResponse","selectedMediaType","setSelectedMediaType","currentResponse","r","hideTabs","cardHeader","Tabs","c","Markdown","newResponse","SchemaView","content","MCPEndpoint","serverUrl","summary","data","mcpUrl","name","claudeConfig","cursorConfig","chatgptConfig","vscodeConfig","handleCopy","Card","TabsList","TabsTrigger","Typography","TabsContent","SyntaxHighlight","Callout","getParameterSchema","parameter","ParameterListItem","group","id","paramSchema","isOpen","setIsOpen","isCollapsible","isArrayType","shouldRenderDescription","Item","ItemContent","ItemTitle","ColorizedParam","ParamInfos","EnumValues","SchemaExampleAndDefault","ItemActions","MinusIcon","PlusIcon","Collapsible","ParameterList","parameters","sortedParameters","b","Fragment","Heading","VisuallyHidden","Frame","FramePanel","ItemGroup","index","ItemSeparator","useOnScreen","rootMargin","threshold","root","isVisible","setIsVisible","ref","useRef","useEffect","observer","entry","currentElement","OverflowOverlay","NonHighlightedCode","code","Root","children","Head","Body","Footer","GeneratedExampleSidecarBox","isOnScreen","shouldLazyHighlight","SidecarBox.Root","SidecarBox.Head","TooltipProvider","Tooltip","TooltipTrigger","InfoIcon","TooltipContent","SidecarBox.Body","PlaygroundDialogWrapper","operation","examples","headers","p","x","queryParams","pathParams","PlaygroundDialog","formatForDisplay","getLanguage","mediaType","SidecarExamples","description","onExampleChange","selectedContentIndex","selectedExampleIndex","selectedContent","selectedExample","formattedExample","language","SidecarBox.Footer","example","RequestBodySidecarBox","CollapsibleTrigger","ChevronsDownUpIcon","CollapsibleContent","ResponsesSidecarBox","isGenerated","internalSelectedResponse","setInternalSelectedResponse","setSelectedContentIndex","setSelectedExampleIndex","selected","reducer","accumulator","pair","currentValue","DEFAULT_INDENTATION_CHARACTER","DEFAULT_LINE_JOIN","CodeBuilder","indent","join","line","indentationLevel","newLine","unreplacedCode","replacer","postProcessor","isRegexp","re","isObj","lib","object","keySymbol","require$$0","require$$1","getOwnEnumPropSymbols","require$$2","stringifyObject","val","opts","pad","seen","stringify","tokens","expandWhiteSpace","string","oneLined","ret","el","i","eol","objKeys","isSymbol","isClassic","key","escapeString","rawValue","delimiter","escapeChar","escapeNewlines","c2","escapeForSingleQuotes","escapeForDoubleQuotes","libcurl","method","fullUrl","headersObj","allHeaders","postData","push","blank","header","getHeaderName","getHeader","headerName","hasHeader","isMimeTypeJSON","mimeType","Keyword","File","path","jsType","objEmpty","filterEmpty","padBlock","padSize","padding","jsToEdn","js","obj","arr","clj_http","queryObj","methods","params2","param","formattedParams","clojure","getDecompressionMethods","acceptEncodings","supportedMethods2","acceptEncoding","encoding","match","httpclient","clienthandler","cookies","decompressionMethods","contentType","title","s","restsharp","uriObj","isMultipart","text","csharp","native","showBoilerplate","checkErrors","printBody","timeout","errorPlaceholder","errorCheck","hasTimeout","hasClient","client","go","CRLF","http11","httpVersion","requestUrl","headerKeys","keyCapitalized","length","headerSection","messageBody","http","asynchttp","nethttp","okhttp","methodsWithBody","unirest","java","axios","addPostProcessor","requestOptions","optionString","stringifyObject9","fetch","inputOpts","contentTypeHeader","property","originalResult","jquery","settings","stringifiedSettings","xhr","javascript","native2","payload","multipartPayload","json","okhttp2","kotlin","axios2","reqOpts","stringifiedOptions","fetch2","includeFS","unshift","cookiesString","native3","request","attachment","unirest2","cookie","multipart","part","node","nsDeclaration","nsClass","opening","literal","literalRepresentation","indentation","keyValuePairs","nsurlsession","req","head","tail","objc","cohttp","h","m","ocaml","convertType","lastIndent","contents","item","supportedMethods","curl","closingTag","maxRedirects","namedErrors","noTags","shortTags","curlOptions","curlopts","escape2","curlCookies","guzzle","requestCode","requestPush","requestJoin","fields","field","cookieString","http1","cookiesObj","http2","hasBody","files","fileName","formValue","php","generatePowershellConvert","command","commandOptions","restmethod","webrequest","powershell","concatValues","concatType","values","pretty","indentLevel","currentIndent","closingBraceIndent","openingBrace","closingBrace","literalRepresentation2","valuesRepresentation","v","builtInMethods","requests","hasFiles","hasPayload","jsonPayload","nonFilePayload","stringPayload","headerCount","count","request2","python","httr","queryString","qs","queryCount","cookieHeader","acceptHeader","setCookies","setAccept","setContentType","otherHeaders","setHeaders","headerAdditions","native4","rawMethod","capMethod","ruby","quote","escape","params","getArg","short","longName","shortName","curl2","binary","globOff","indentJSON","arg","formattedUrl","contentTypeHeaderName","noBoundary","post","unencoded","encoded","needsEncoding","flag","builtPayload","httpie","raw","flags","cliFlags","postDataText","wget","shell","buildString","str","concatArray","literalDeclaration","literalRepresentation3","urlsession","queries","swift","targets","freeExports","exports","freeModule","module","freeGlobal","global","punycode","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","stringFromCharCode","map","array","fn","mapDomain","parts","labels","ucs2decode","output","counter","extra","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","decode","inputLength","out","n","bias","basic","j","oldi","w","t","baseMinusT","encode","handledCPCount","basicLength","q","handledCPCountPlusOne","qMinusT","toUnicode","toASCII","this","esObjectAtoms","esErrors","_eval","range","syntax","uri","abs","max","min","pow","round","_isNaN","$isNaN","sign","number","gOPD","$gOPD","gopd","$defineProperty","esDefineProperty","shams","sym","symObj","symVal","_","syms","descriptor","origSymbol","hasSymbolSham","hasSymbols","Reflect_getPrototypeOf","$Object","Object_getPrototypeOf","ERROR_MESSAGE","toStr","funcType","concatty","slicy","arrLike","offset","joiny","joiner","implementation","that","target","args","bound","binder","boundLength","boundArgs","Empty","functionBind","functionCall","functionApply","reflectApply","bind","$apply","$call","$reflectApply","require$$3","actualApply","$TypeError","$actualApply","callBindApplyHelpers","callBind","hasProtoAccessor","desc","$getPrototypeOf","get","reflectGetProto","originalGetProto","getDunderProto","getProto","O","call","$hasOwn","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","require$$4","$SyntaxError","require$$5","require$$6","$URIError","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","$Function","getEvalledConstructor","expressionSyntax","require$$15","require$$16","throwTypeError","ThrowTypeError","require$$17","require$$18","$ObjectGPO","require$$19","$ReflectGPO","require$$20","require$$21","require$$22","needsEval","TypedArray","INTRINSICS","errorProto","doEval","gen","LEGACY_ALIASES","require$$23","hasOwn","require$$24","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","first","last","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","defineDataProperty","nonEnumerable","nonWritable","nonConfigurable","loose","hasPropertyDescriptors","hasPropertyDescriptors_1","GetIntrinsic","define","hasDescriptors","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","applyBind","callBindBasic","originalFunction","func","adjustedLength","$indexOf","callBound","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","booleanValueOf","objectToString","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","addNumericSeparator","num","sepRegex","int","intStr","dec","utilInspect","inspectCustom","inspectSymbol","objectInspect","inspect_","depth","has","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","isArray","getIndent","indexOf","inspect","from","noIndent","newOpts","isRegExp","nameOf","keys","arrObjKeys","symString","markBoxed","isElement","attrs","wrapQuotes","xs","singleLineValues","indentedJoin","isError","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","isDate","ys","isPlainObject","protoTag","stringTag","constructorTag","tag","defaultStyle","quoteChar","f","l","remaining","trailer","lowbyte","size","entries","joinedEntries","baseIndent","lineJoiner","isArr","symMap","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","prev","curr","listGet","objects","listSet","listHas","sideChannel","$wm","$m","$o","channel","replace","percentTwenties","Format","formats","hexTable","compactQueue","queue","compacted","arrayToObject","source","merge","mergeTarget","targetItem","acc","assign","decoder","charset","strWithoutPlus","limit","defaultEncoder","kind","format","$0","segment","compact","refs","isBuffer","combine","maybeMap","mapped","utils","getSideChannel","arrayPrefixGenerators","prefix","pushToArray","valueOrArray","toISO","defaultFormat","defaults","date","isNonNullishPrimitive","sentinel","generateArrayPrefix","commaRoundTrip","allowEmptyArrays","strictNullHandling","skipNulls","encodeDotInKeys","encoder","filter","sort","allowDots","serializeDate","formatter","encodeValuesOnly","tmpSc","step","findFlag","pos","keyValue","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","stringify_1","joined","interpretNumericEntities","numberStr","parseArrayValue","isoSentinel","charsetSentinel","parseValues","cleanStr","skipIndex","bracketEqualsPos","encodedVal","existing","parseObject","chain","valuesParsed","leaf","cleanRoot","decodedRoot","parseKeys","givenKey","brackets","child","parent","normalizeParseOptions","duplicates","parse","tempObj","newObj","Url","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","urlParse","parseQueryString","slashesDenoteHost","u","queryIndex","splitter","uSplit","slashRegex","rest","simplePath","proto","lowerProto","slashes","hostEnd","hec","auth","atSign","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","ae","esc","hash","qm","urlFormat","protocol","pathname","host","search","urlResolve","relative","urlResolveObject","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute","port","isHarEntry","HTTPSnippet","harRequest","http2VersionRegex","boundary","carriage","rn","normalizeLinefeeds","filename","urlWithParsedQuery","targetId","clientId","convert","createHttpSnippet","exampleBody","getConverted","snippet","converted","generateSchemaExample","isCircularRef","defaultExample","propSchema","itemSchema","TextColorMap","methodToColor","methodForColor","EXAMPLE_LANGUAGES","Sidecar","globalSelectedServer","useAuthState","context","useZudoku","methodTextColor","searchParams","setSearchParams","useSearchParams","supportedLanguages","preferredLang","selectedLang","lang","requestBodyContent","transformedRequestBodyContent","selectedRequestExample","setSelectedRequestExample","currentExample","currentExampleCode","PathRenderer","httpSnippetCode","useMemo","showPlayground","hasResponseExamples","PARAM_GROUPS","OperationListItem","operationFragment","OperationsFragment","groupedParameters","groupBy","displayServerUrl","setSelectedResponse","isMCPEndpoint","SelectOnClick","Separator","PagefindSearchMeta","sanitizeMarkdownForMetatag","maxLength","SchemaWarmupQuery","OperationsForTagQuery","LAZY_OPERATION_LIST_THRESHOLD","OperationList","untagged","versions","version","tagFromParams","useParams","navigate","useNavigate","warmupQuery","useQuery","useApiIdentities","operations","next","tagDescription","metaDescription","hasMultipleVersions","showVersions","paginationProps","UNTAGGED_PATH","tagTitle","helmetTitle","joinUrl","Helmet","CategoryHeading","Select","SelectTrigger","SelectValue","SelectContent","label","SelectItem","fragment","Pagination"],"mappings":"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","x_google_ignoreList":[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78]}