@visulima/ono 2.0.11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## @visulima/ono [2.1.0](https://github.com/visulima/visulima/compare/%40visulima%2Fono%402.0.11...%40visulima%2Fono%402.1.0) (2026-08-02)
2
+
3
+
4
+ ### Dependencies
5
+
6
+ * **@visulima/error:** upgraded to 6.1.0
7
+ * **@visulima/path:** upgraded to 3.1.0
8
+
1
9
  ## @visulima/ono [2.0.11](https://github.com/visulima/visulima/compare/%40visulima%2Fono%402.0.10...%40visulima%2Fono%402.0.11) (2026-07-27)
2
10
 
3
11
  ## @visulima/ono [2.0.10](https://github.com/visulima/visulima/compare/%40visulima%2Fono%402.0.9...%40visulima%2Fono%402.0.10) (2026-07-27)
@@ -1,31 +1,31 @@
1
- import{s as q,a as G,l as _,b as K,c as de,d as le,e as ce}from"../../packem_shared/sanitize-D2LcyiFA.js";const N="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-braces%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M8%203H7a2%202%200%200%200-2%202v5a2%202%200%200%201-2%202%202%202%200%200%201%202%202v5c0%201.1.9%202%202%202h1%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2021h1a2%202%200%200%200%202-2v-5c0-1.1.9-2%202-2a2%202%200%200%201-2-2V5a2%202%200%200%200-2-2h-1%22%20%2F%3E%20%3C%2Fsvg%3E",B="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-cookie%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M12%202a10%2010%200%201%200%2010%2010%204%204%200%200%201-5-5%204%204%200%200%201-5-5%22%20%2F%3E%20%3Cpath%20d%3D%22M8.5%208.5v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2015.5v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2017v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2014v.01%22%20%2F%3E%20%3C%2Fsvg%3E",j="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-file-text%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M6%2022a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l3.588%203.588A2.4%202.4%200%200%201%2020%208v12a2%202%200%200%201-2%202z%22%20%2F%3E%20%3Cpath%20d%3D%22M14%202v5a1%201%200%200%200%201%201h5%22%20%2F%3E%20%3Cpath%20d%3D%22M10%209H8%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2013H8%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2017H8%22%20%2F%3E%20%3C%2Fsvg%3E",L="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-globe%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012h20%22%20%2F%3E%20%3C%2Fsvg%3E",I="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-user%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M19%2021v-2a4%204%200%200%200-4-4H9a4%204%200%200%200-4%204v2%22%20%2F%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%20%2F%3E%20%3C%2Fsvg%3E",E=({label:t="Copy",successText:o="Copied!",targetId:r})=>{const c=q(r),v=q(t),d=G(t),l=G(o);return{html:`
1
+ import{s as U,a as q,l as Q,b as Y,c as ve,d as ue,e as pe}from"../../packem_shared/sanitize-SjW6ExLy.js";const J="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-braces%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M8%203H7a2%202%200%200%200-2%202v5a2%202%200%200%201-2%202%202%202%200%200%201%202%202v5c0%201.1.9%202%202%202h1%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2021h1a2%202%200%200%200%202-2v-5c0-1.1.9-2%202-2a2%202%200%200%201-2-2V5a2%202%200%200%200-2-2h-1%22%20%2F%3E%20%3C%2Fsvg%3E",N="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-cookie%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M12%202a10%2010%200%201%200%2010%2010%204%204%200%200%201-5-5%204%204%200%200%201-5-5%22%20%2F%3E%20%3Cpath%20d%3D%22M8.5%208.5v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2015.5v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M12%2012v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M11%2017v.01%22%20%2F%3E%20%3Cpath%20d%3D%22M7%2014v.01%22%20%2F%3E%20%3C%2Fsvg%3E",j="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-file-text%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M6%2022a2%202%200%200%201-2-2V4a2%202%200%200%201%202-2h8a2.4%202.4%200%200%201%201.704.706l3.588%203.588A2.4%202.4%200%200%201%2020%208v12a2%202%200%200%201-2%202z%22%20%2F%3E%20%3Cpath%20d%3D%22M14%202v5a1%201%200%200%200%201%201h5%22%20%2F%3E%20%3Cpath%20d%3D%22M10%209H8%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2013H8%22%20%2F%3E%20%3Cpath%20d%3D%22M16%2017H8%22%20%2F%3E%20%3C%2Fsvg%3E",L="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-globe%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%20%2F%3E%20%3Cpath%20d%3D%22M12%202a14.5%2014.5%200%200%200%200%2020%2014.5%2014.5%200%200%200%200-20%22%20%2F%3E%20%3Cpath%20d%3D%22M2%2012h20%22%20%2F%3E%20%3C%2Fsvg%3E",B="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-user%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M19%2021v-2a4%204%200%200%200-4-4H9a4%204%200%200%200-4%204v2%22%20%2F%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%227%22%20r%3D%224%22%20%2F%3E%20%3C%2Fsvg%3E",E=({label:t="Copy",successText:o="Copied!",targetId:r})=>{const i=U(r),a=U(t),l=q(t),v=q(o);return{html:`
2
2
  <button
3
3
  type="button"
4
- aria-label="${v}"
5
- title="${d}"
4
+ aria-label="${a}"
5
+ title="${l}"
6
6
  class="ono-copy-btn relative inline-flex justify-center items-center size-8 rounded-[var(--ono-radius-md)] shadow-[var(--ono-elevation-1)] bg-[var(--ono-surface)] text-[var(--ono-text)] hover:bg-[var(--ono-hover-overlay)] focus:outline-hidden focus:bg-[var(--ono-hover-overlay)] disabled:opacity-50 disabled:pointer-events-none cursor-pointer"
7
- data-target="#${c}"
8
- data-success-text="${l}"
7
+ data-target="#${i}"
8
+ data-success-text="${v}"
9
9
  >
10
- <span class="ono-copy-default dui size-4 transition" style="-webkit-mask-image: url('${_}'); mask-image: url('${_}')"></span>
11
- <span class="ono-copy-success dui hidden size-4 text-[var(--ono-red-orange)]" style="-webkit-mask-image: url('${K}'); mask-image: url('${K}')"></span>
12
- <span class="sr-only">${d}</span>
10
+ <span class="ono-copy-default dui size-4 transition" style="-webkit-mask-image: url('${Q}'); mask-image: url('${Q}')"></span>
11
+ <span class="ono-copy-success dui hidden size-4 text-[var(--ono-red-orange)]" style="-webkit-mask-image: url('${Y}'); mask-image: url('${Y}')"></span>
12
+ <span class="sr-only">${l}</span>
13
13
  </button>
14
- `}},ve=(t,o)=>o in t,P=(t,o)=>ve(t,o)&&typeof t[o]=="function",U=t=>typeof t=="object"&&t!==null&&P(t,"forEach")&&P(t,"get"),Y=[/authorization/i,/cookie/i,/set-cookie/i,/x-api-key/i,/api-key/i,/x-auth/i,/token/i,/secret/i],M=(t,o)=>{if(typeof t=="object"&&t!==null&&o in t)return t[o]},x=(t,o)=>{const r=M(t,o);return typeof r=="function"?r:void 0},F=(t,o)=>{const r=M(t,o);return typeof r=="string"?r:void 0},Z=(t,o)=>o?.some(r=>r.toLowerCase()===t.toLowerCase())?!0:Y.some(r=>r.test(t)),ue=[...Y,/passw(?:or)?d/i,/pwd/i,/credential/i,/passphrase/i],pe=(t,o)=>o?.some(r=>r.toLowerCase()===t.toLowerCase())?!0:ue.some(r=>r.test(t)),me=t=>{if(!t)return[];if(U(t)){const o=x(t,"entries");if(o){const r=o();return Array.from(r,([c,v])=>[c,v])}}return Object.entries(t)},xe=(t,o)=>!o||o.length===0?!0:o.some(r=>r.toLowerCase()===t.toLowerCase()),be=(t,o)=>!t||!o?t:Array.isArray(t)?t.map(()=>o):o,ge=(t,o,r,c="[masked]")=>{const v=me(t);if(v.length===0)return;const d={};return v.forEach(([l,n])=>{if(!xe(l,o)||n===void 0)return;const b=Z(l.toLowerCase(),r)?c:void 0;d[l]=be(n,b)}),d},Q=t=>{try{return JSON.stringify(t,null,2)}catch{return String(t)}},he=t=>{if(!t)return{};const o={};return t.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{const c=r.indexOf("=");if(c===-1)return;const v=r.slice(0,c).trim(),d=r.slice(c+1).trim();o[v]=d}),o},fe=async(t,o)=>{try{const r=(F(t,"method")??"GET").toUpperCase();if(r==="GET"||r==="HEAD")return;const c=M(t,"headers"),v=U(c)?x(c,"get")?.("content-type")??"":String(c["content-type"]??""),d=x(t,"clone"),l=d?d():t;if(x(l,"json")&&v.includes("application/json"))try{const n=x(l,"json");return n?await n():void 0}catch{try{const n=x(l,"text");return n?await n()??"":void 0}catch{return}}if(x(l,"text"))try{const n=x(l,"text");return n?await n():void 0}catch{return}return x(t,"on")?await new Promise(n=>{try{let b="",H=!1;const $=x(t,"setEncoding");$&&$("utf8");const k=h=>{if(H)return;const f=typeof h=="string"?h:String(h);if(b.length+f.length>o){const J=Math.max(0,o-b.length);b+=f.slice(0,J),H=!0,A(),n(`${b}
15
- … [truncated]`);return}b+=f},O=()=>{A(),n(b||void 0)},D=()=>{A(),n(void 0)},A=()=>{const h=x(t,"off");h?.("data",k),h?.("end",O),h?.("error",D)},S=x(t,"on");S?.("data",k),S?.("end",O),S?.("error",D)}catch{n(void 0)}}):void 0}catch{return}},we=async(t,o)=>{const r=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`,{headerAllowlist:c,headerDenylist:v,maskValue:d="[masked]"}=o,l=ge(M(t,"headers"),c,v,d),n=e=>{if(e!==void 0)return Array.isArray(e)?e.join(", "):e},b=e=>`'${e.replaceAll("'",String.raw`'\''`)}'`,H=e=>{if(!e)return;const s=[];return Object.entries(e).forEach(([a,i])=>{const p=n(i)??"";s.push(`${a}=${p}`)}),s.length>0?s.join("; "):void 0};let $;const k=M(t,"headers");if(U(k)){const e=x(k,"get")?.("cookie");$=typeof e=="string"?e:void 0}else if(k!==void 0){const e=k;if(Array.isArray(e.cookie))[$]=e.cookie;else{const s=e.cookie;$=typeof s=="string"?s:void 0}}const O=he($),D=d&&Z("cookie",v)?Object.fromEntries(Object.keys(O).map(e=>[e,d])):O,A=Math.max(0,o.previewBytes??64e3),S=await fe(t,A),h=(e,s)=>{if(!d||e===null||typeof e!="object")return e;if(s.has(e))return"[Circular]";s.add(e);let a;return Array.isArray(e)?a=e.map(i=>h(i,s)):a=Object.fromEntries(Object.entries(e).map(([i,p])=>[i,pe(i,v)?d:h(p,s)])),s.delete(e),a},f=h(S,new WeakSet),J=(()=>{const e=(F(t,"method")??"GET").toUpperCase(),s=F(t,"url")??"",a=[],i={};l&&Object.entries(l).forEach(([m,T])=>{const X=n(T);X!==void 0&&(i[m]=X)});const p=H(D),g=Object.keys(i).some(m=>m.toLowerCase()==="cookie");p&&!g&&(i.Cookie=p),Object.entries(i).forEach(([m,T])=>{a.push(`-H ${b(`${m}: ${T}`)}`)});let u="";if(f!=null&&e!=="GET"){const m=typeof f=="string"?f:Q(f);u=`--data ${b(m)}`}const w=["curl","-X",e];return a.length>0&&w.push("\\",` ${a.join(` \\
16
- `)}`),u&&w.push("\\",` ${u}`),w.push("\\",` ${b(s)}`),w.join(" ")})(),ee=(await de(["bash"])).codeToHtml(J,{lang:"bash",themes:{dark:"min-dark",light:"min-light"}}),te=le(ee),C=e=>q(e),y=e=>G(e),R=e=>!e||Object.keys(e).length===0?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty)</div>':`<div class="px-4 pb-4">${Object.entries(e).map(([s,a])=>{const i=Array.isArray(a)?a.join(", "):a;return`<div class="grid grid-cols-[200px_1fr] gap-3 items-start py-2 border-b border-[var(--ono-border)]">
14
+ `}},xe=(t,o)=>o in t,Z=(t,o)=>xe(t,o)&&typeof t[o]=="function",R=t=>typeof t=="object"&&t!==null&&Z(t,"forEach")&&Z(t,"get"),te=[/authorization/i,/cookie/i,/set-cookie/i,/x-api-key/i,/api-key/i,/x-auth/i,/token/i,/secret/i],M=(t,o)=>{if(typeof t=="object"&&t!==null&&o in t)return t[o]},b=(t,o)=>{const r=M(t,o);return typeof r=="function"?r.bind(t):void 0},F=(t,o)=>{const r=M(t,o);return typeof r=="string"?r:void 0},re=(t,o)=>o?.some(r=>r.toLowerCase()===t.toLowerCase())?!0:te.some(r=>r.test(t)),me=[...te,/passw(?:or)?d/i,/pwd/i,/credential/i,/passphrase/i],G=(t,o)=>o?.some(r=>r.toLowerCase()===t.toLowerCase())?!0:me.some(r=>r.test(t)),be=t=>{const o={};return new URLSearchParams(t).forEach((r,i)=>{const a=o[i];a===void 0?o[i]=r:Array.isArray(a)?a.push(r):o[i]=[a,r]}),o},ge=(t,o,r)=>t.replaceAll(/(?<![^\s&=?#])([^\s&=?#]+)=([^&\s#]*)/g,(i,a,l)=>l&&G(a,r)?`${a}=${o}`:i).replaceAll(/("(?:[^"\\]|\\.)*")(\s*:\s*)"(?:[^"\\]|\\.)*"/g,(i,a,l)=>{const v=a.slice(1,-1);return G(v,r)?`${a}${l}${JSON.stringify(o)}`:i}),he=t=>{if(!t)return[];if(R(t)){const o=b(t,"entries");if(o){const r=o();return Array.from(r,([i,a])=>[i,a])}}return Object.entries(t)},fe=(t,o)=>!o||o.length===0?!0:o.some(r=>r.toLowerCase()===t.toLowerCase()),ye=(t,o)=>!t||!o?t:Array.isArray(t)?t.map(()=>o):o,we=(t,o,r,i="[masked]")=>{const a=he(t);if(a.length===0)return;const l={};return a.forEach(([v,c])=>{if(!fe(v,o)||c===void 0)return;const u=re(v.toLowerCase(),r)?i:void 0;l[v]=ye(c,u)}),l},ee=t=>{try{return JSON.stringify(t,null,2)}catch{return String(t)}},$e=t=>{if(!t)return{};const o={};return t.split(";").map(r=>r.trim()).filter(Boolean).forEach(r=>{const i=r.indexOf("=");if(i===-1)return;const a=r.slice(0,i).trim(),l=r.slice(i+1).trim();o[a]=l}),o},ke=async(t,o)=>{try{const r=(F(t,"method")??"GET").toUpperCase();if(r==="GET"||r==="HEAD")return;const i=M(t,"headers"),a=R(i)?b(i,"get")?.("content-type")??"":String(i["content-type"]??""),l=b(t,"clone"),v=l?l():t;if(b(v,"json")&&a.includes("application/json"))try{const c=b(v,"json");return c?await c():void 0}catch{try{const c=b(v,"text");return c?await c()??"":void 0}catch{return}}if(b(v,"text"))try{const c=b(v,"text"),u=c?await c():void 0;return typeof u=="string"&&a.includes("application/x-www-form-urlencoded")?be(u):u}catch{return}return b(t,"on")?await new Promise(c=>{try{let u="",H=!1;const $=b(t,"setEncoding");$&&$("utf8");const k=g=>{if(H)return;const f=typeof g=="string"?g:String(g);if(u.length+f.length>o){const I=Math.max(0,o-u.length);u+=f.slice(0,I),H=!0,O(),c(`${u}
15
+ … [truncated]`);return}u+=f},A=()=>{O(),c(u||void 0)},D=()=>{O(),c(void 0)},O=()=>{const g=b(t,"off");g?.("data",k),g?.("end",A),g?.("error",D)},S=b(t,"on");S?.("data",k),S?.("end",A),S?.("error",D)}catch{c(void 0)}}):void 0}catch{return}},Ce=async(t,o)=>{const r=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`,{headerAllowlist:i,headerDenylist:a,maskValue:l="[masked]"}=o,v=we(M(t,"headers"),i,a,l),c=e=>{if(e!==void 0)return Array.isArray(e)?e.join(", "):e},u=e=>`'${e.replaceAll("'",String.raw`'\''`)}'`,H=e=>{if(!e)return;const s=[];return Object.entries(e).forEach(([n,d])=>{const x=c(d)??"";s.push(`${n}=${x}`)}),s.length>0?s.join("; "):void 0};let $;const k=M(t,"headers");if(R(k)){const e=b(k,"get")?.("cookie");$=typeof e=="string"?e:void 0}else if(k!==void 0){const e=k;if(Array.isArray(e.cookie))[$]=e.cookie;else{const s=e.cookie;$=typeof s=="string"?s:void 0}}const A=$e($),D=l&&re("cookie",a)?Object.fromEntries(Object.keys(A).map(e=>[e,l])):A,O=Math.max(0,o.previewBytes??64e3),S=await ke(t,O),g=(e,s)=>{if(!l)return e;if(typeof e=="string")return ge(e,l,a);if(e===null||typeof e!="object")return e;if(s.has(e))return"[Circular]";s.add(e);let n;return Array.isArray(e)?n=e.map(d=>g(d,s)):n=Object.fromEntries(Object.entries(e).map(([d,x])=>[d,G(d,a)?l:g(x,s)])),s.delete(e),n},f=g(S,new WeakSet),I=t.session,V=g(I,new WeakSet),W=(()=>{const e=(F(t,"method")??"GET").toUpperCase(),s=F(t,"url")??"",n=[],d={};v&&Object.entries(v).forEach(([m,T])=>{const K=c(T);K!==void 0&&(d[m]=K)});const x=H(D),h=Object.keys(d).some(m=>m.toLowerCase()==="cookie");x&&!h&&(d.Cookie=x),Object.entries(d).forEach(([m,T])=>{n.push(`-H ${u(`${m}: ${T}`)}`)});let p="";if(f!=null&&e!=="GET"){const m=typeof f=="string"?f:ee(f);p=`--data ${u(m)}`}const w=["curl","-X",e];return n.length>0&&w.push("\\",` ${n.join(` \\
16
+ `)}`),p&&w.push("\\",` ${p}`),w.push("\\",` ${u(s)}`),w.join(" ")})(),oe=(await ve(["bash"])).codeToHtml(W,{lang:"bash",themes:{dark:"min-dark",light:"min-light"}}),se=ue(oe),C=e=>U(e),y=e=>q(e),_=e=>!e||Object.keys(e).length===0?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty)</div>':`<div class="px-4 pb-4">${Object.entries(e).map(([s,n])=>{const d=Array.isArray(n)?n.join(", "):n;return`<div class="grid grid-cols-[200px_1fr] gap-3 items-start py-2 border-b border-[var(--ono-border)]">
17
17
  <div class="text-[11px] uppercase tracking-wide text-[var(--ono-text-muted)]">${y(s)}</div>
18
- <div class="text-sm break-words whitespace-pre-wrap text-[var(--ono-text)]">${y(i)}</div>
19
- </div>`}).join("")}</div>`,re=e=>`<span class="text-[var(--ono-red-orange)]">${typeof e=="string"?`"${y(e)}"`:String(e)}</span>`,oe=e=>`<span class="italic text-[var(--ono-text-muted)]">${e===null?"null":"undefined"}</span>`,se=(e,s)=>{if(Object.keys(e).length===0)return'<span class="italic text-[var(--ono-text-muted)]">(empty object)</span>';if(s>=3)return`<span class="italic text-[var(--ono-text-muted)]">{Object with ${String(Object.keys(e).length)} keys}</span>`;const a=Object.entries(e).slice(0,10).map(([p,g])=>{const u=z(g,s+1);return`
18
+ <div class="text-sm break-words whitespace-pre-wrap text-[var(--ono-text)]">${y(d)}</div>
19
+ </div>`}).join("")}</div>`,ae=e=>`<span class="text-[var(--ono-red-orange)]">${typeof e=="string"?`"${y(e)}"`:String(e)}</span>`,ie=e=>`<span class="italic text-[var(--ono-text-muted)]">${e===null?"null":"undefined"}</span>`,ne=(e,s)=>{if(Object.keys(e).length===0)return'<span class="italic text-[var(--ono-text-muted)]">(empty object)</span>';if(s>=3)return`<span class="italic text-[var(--ono-text-muted)]">{Object with ${String(Object.keys(e).length)} keys}</span>`;const n=Object.entries(e).slice(0,10).map(([x,h])=>{const p=z(h,s+1);return`
20
20
  <div class="ml-4 pl-3 py-1 border-l-2 border-[var(--ono-border)]">
21
- <span class="font-medium text-[var(--ono-text)]">${y(p)}:</span> ${u}
22
- </div>`}).join(""),i=Object.keys(e).length>10?`<div class="ml-4 italic text-[var(--ono-text-muted)]">... and ${String(Object.keys(e).length-10)} more keys</div>`:"";return`<div class="space-y-1">${a}${i}</div>`},z=(e,s=0)=>{if(e==null)return oe(e);if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return re(e);if(Array.isArray(e)){if(e.length===0)return'<span class="italic text-[var(--ono-text-muted)]">(empty array)</span>';if(s>=3)return`<span class="italic text-[var(--ono-text-muted)]">[Array with ${String(e.length)} items]</span>`;const i=e.slice(0,10).map((g,u)=>{const w=z(g,s+1);return`
21
+ <span class="font-medium text-[var(--ono-text)]">${y(x)}:</span> ${p}
22
+ </div>`}).join(""),d=Object.keys(e).length>10?`<div class="ml-4 italic text-[var(--ono-text-muted)]">... and ${String(Object.keys(e).length-10)} more keys</div>`:"";return`<div class="space-y-1">${n}${d}</div>`},z=(e,s=0)=>{if(e==null)return ie(e);if(typeof e=="string"||typeof e=="number"||typeof e=="boolean")return ae(e);if(Array.isArray(e)){if(e.length===0)return'<span class="italic text-[var(--ono-text-muted)]">(empty array)</span>';if(s>=3)return`<span class="italic text-[var(--ono-text-muted)]">[Array with ${String(e.length)} items]</span>`;const d=e.slice(0,10).map((h,p)=>{const w=z(h,s+1);return`
23
23
  <div class="ml-4 pl-3 py-1 border-l-2 border-[var(--ono-border)]">
24
- <span class="text-xs text-[var(--ono-text-muted)]">[${String(u)}]:</span> ${w}
25
- </div>`}).join(""),p=e.length>10?`<div class="ml-4 text-sm italic text-[var(--ono-text-muted)]">... and ${String(e.length-10)} more items</div>`:"";return`<div class="space-y-1">${i}${p}</div>`}if(typeof e=="object")return se(e,s);const a=typeof e=="symbol"||typeof e=="bigint"||typeof e=="function"?e.toString():JSON.stringify(e);return`<span class="text-[var(--ono-text)]">${y(a)}</span>`},V=e=>!e||Object.keys(e).length===0?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty)</div>':`<div class="px-4 pb-4">${Object.entries(e).map(([s,a])=>{const i=z(a);return`<div class="grid grid-cols-[200px_1fr] gap-3 items-start py-2 border-b border-[var(--ono-border)]">
24
+ <span class="text-xs text-[var(--ono-text-muted)]">[${String(p)}]:</span> ${w}
25
+ </div>`}).join(""),x=e.length>10?`<div class="ml-4 text-sm italic text-[var(--ono-text-muted)]">... and ${String(e.length-10)} more items</div>`:"";return`<div class="space-y-1">${d}${x}</div>`}if(typeof e=="object")return ne(e,s);const n=typeof e=="symbol"||typeof e=="bigint"||typeof e=="function"?e.toString():JSON.stringify(e);return`<span class="text-[var(--ono-text)]">${y(n)}</span>`},P=e=>!e||Object.keys(e).length===0?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty)</div>':`<div class="px-4 pb-4">${Object.entries(e).map(([s,n])=>{const d=z(n);return`<div class="grid grid-cols-[200px_1fr] gap-3 items-start py-2 border-b border-[var(--ono-border)]">
26
26
  <div class="text-[11px] uppercase tracking-wide text-[var(--ono-text-muted)]">${y(s)}</div>
27
- <div class="text-sm break-words text-[var(--ono-text)]">${i}</div>
28
- </div>`}).join("")}</div>`,ae=e=>{if(e==null)return'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(no body)</div>';if(typeof e=="string")return e.trim()===""?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty string)</div>':`<div class="px-4 pb-4">
27
+ <div class="text-sm break-words text-[var(--ono-text)]">${d}</div>
28
+ </div>`}).join("")}</div>`,de=e=>{if(e==null)return'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(no body)</div>';if(typeof e=="string")return e.trim()===""?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty string)</div>':`<div class="px-4 pb-4">
29
29
  <div class="text-sm break-words whitespace-pre-wrap font-mono p-3 rounded border border-[var(--ono-border)] bg-[var(--ono-surface-muted)] text-[var(--ono-text)]">${y(e)}</div>
30
30
  </div>`;if(typeof e=="object")return Array.isArray(e)?e.length===0?'<div class="px-4 pb-4 pt-2 text-xs text-[var(--ono-text-muted)]">(empty array)</div>':`<div class="px-4 pb-4">
31
31
  <div class="text-sm break-words p-3 rounded border border-[var(--ono-border)] bg-[var(--ono-surface-muted)] text-[var(--ono-text)]">${z(e)}</div>
@@ -33,7 +33,7 @@ import{s as q,a as G,l as _,b as K,c as de,d as le,e as ce}from"../../packem_sha
33
33
  <div class="text-sm break-words p-3 rounded border border-[var(--ono-border)] bg-[var(--ono-surface-muted)] text-[var(--ono-text)]">${z(e)}</div>
34
34
  </div>`;const s=e.toString();return`<div class="px-4 pb-4">
35
35
  <div class="text-sm break-words whitespace-pre-wrap font-mono p-3 rounded border border-[var(--ono-border)] bg-[var(--ono-surface-muted)] text-[var(--ono-text)]">${y(s)}</div>
36
- </div>`},W=(e=>{if(!e)return{content:"",sidebar:""};const s=new Set(["request"]),a=Object.keys(e).filter(g=>!s.has(g));if(a.length===0)return{content:"",sidebar:""};let i="",p="";return a.forEach(g=>{const u=e[g];if(u&&typeof u=="object"&&(Array.isArray(u)||Object.keys(u).length>0)){const w=g.charAt(0).toUpperCase()+g.slice(1),m=`context-${g}`;i+=`
36
+ </div>`},X=(e=>{if(!e)return{content:"",sidebar:""};const s=new Set(["request"]),n=Object.keys(e).filter(h=>!s.has(h));if(n.length===0)return{content:"",sidebar:""};let d="",x="";return n.forEach(h=>{const p=e[h];if(p&&typeof p=="object"&&(Array.isArray(p)||Object.keys(p).length>0)){const w=h.charAt(0).toUpperCase()+h.slice(1),m=`context-${h}`;d+=`
37
37
  <div>
38
38
  <div class="text-[11px] uppercase tracking-wide mb-2 text-[var(--ono-text-muted)]">${w}</div>
39
39
  <ul class="space-y-1 text-sm">
@@ -44,8 +44,8 @@ import{s as q,a as G,l as _,b as K,c as de,d as le,e as ce}from"../../packem_sha
44
44
  </a>
45
45
  </li>
46
46
  </ul>
47
- </div>`,p+=`
48
- <input type="hidden" id="clipboard-${m}-${r}" value="${C(JSON.stringify(u))}">
47
+ </div>`,x+=`
48
+ <input type="hidden" id="clipboard-${m}-${r}" value="${C(JSON.stringify(p))}">
49
49
  <section id="${m}" class="mb-4 rounded-[var(--ono-radius-lg)] shadow-[var(--ono-elevation-1)] overflow-hidden bg-[var(--ono-surface)] border border-[var(--ono-border)]">
50
50
  <div class="px-4 py-2 flex items-center gap-2 bg-[var(--ono-surface-muted)] border-b border-[var(--ono-border)]">
51
51
  <h3 class="text-sm font-semibold text-[var(--ono-text)]">${w}</h3>
@@ -53,8 +53,8 @@ import{s as q,a as G,l as _,b as K,c as de,d as le,e as ce}from"../../packem_sha
53
53
  <a href="#${m}" class="text-xs text-[var(--ono-text-muted)]" aria-label="Anchor">#</a>
54
54
  ${E({label:"Copy JSON",targetId:`clipboard-${m}-${r}`}).html}
55
55
  </div>
56
- <div class="max-w-full overflow-auto mt-2">${V(u)}</div>
57
- </section>`}}),{content:p,sidebar:i}})(o.context),ie=`
56
+ <div class="max-w-full overflow-auto mt-2">${P(p)}</div>
57
+ </section>`}}),{content:x,sidebar:d}})(o.context),le=`
58
58
  <aside class="shrink-0 w-64 sticky top-4 self-start">
59
59
  <nav aria-label="Context sections" class="p-3 rounded-[var(--ono-radius-md)] shadow-[var(--ono-elevation-1)] space-y-4 overflow-auto bg-[var(--ono-surface)] border border-[var(--ono-border)] max-h-[calc(100dvh-2rem)]">
60
60
  <div>
@@ -74,41 +74,41 @@ import{s as q,a as G,l as _,b as K,c as de,d as le,e as ce}from"../../packem_sha
74
74
  </li>
75
75
  <li>
76
76
  <a href="#context-body" class="flex items-center gap-2 px-2 py-1 rounded text-[var(--ono-text)] hover:bg-[var(--ono-surface-muted)]">
77
- <span class="dui size-3" style="-webkit-mask-image:url('${N}'); mask-image:url('${N}')"></span>
77
+ <span class="dui size-3" style="-webkit-mask-image:url('${J}'); mask-image:url('${J}')"></span>
78
78
  <span>Body</span>
79
79
  </a>
80
80
  </li>
81
81
  <li>
82
82
  <a href="#context-session" class="flex items-center gap-2 px-2 py-1 rounded text-[var(--ono-text)] hover:bg-[var(--ono-surface-muted)]">
83
- <span class="dui size-3" style="-webkit-mask-image:url('${I}'); mask-image:url('${I}')"></span>
83
+ <span class="dui size-3" style="-webkit-mask-image:url('${B}'); mask-image:url('${B}')"></span>
84
84
  <span>Session</span>
85
85
  </a>
86
86
  </li>
87
87
  <li>
88
88
  <a href="#context-cookies" class="flex items-center gap-2 px-2 py-1 rounded text-[var(--ono-text)] hover:bg-[var(--ono-surface-muted)]">
89
- <span class="dui size-3" style="-webkit-mask-image:url('${B}'); mask-image:url('${B}')"></span>
89
+ <span class="dui size-3" style="-webkit-mask-image:url('${N}'); mask-image:url('${N}')"></span>
90
90
  <span>Cookies</span>
91
91
  </a>
92
92
  </li>
93
93
  </ul>
94
- </div>${W.sidebar}
94
+ </div>${X.sidebar}
95
95
  </nav>
96
- </aside>`,ne=`
96
+ </aside>`,ce=`
97
97
  <div class="grow min-w-0">
98
- <input type="hidden" id="clipboard-curl-${r}" value="${C(J)}">
98
+ <input type="hidden" id="clipboard-curl-${r}" value="${C(W)}">
99
99
  <section id="context-request" class="mb-4 rounded-[var(--ono-radius-lg)] shadow-[var(--ono-elevation-1)] overflow-hidden bg-[var(--ono-surface)] border border-[var(--ono-border)]">
100
100
  <div class="px-4 py-2 flex items-center gap-3 min-w-0 bg-[var(--ono-surface-muted)] border-b border-[var(--ono-border)]">
101
101
  <span class="dui size-4" style="-webkit-mask-image:url('${L}'); mask-image:url('${L}')"></span>
102
102
  <h2 class="text-sm font-semibold text-[var(--ono-text)]">Request</h2>
103
- <a class="text-sm truncate text-[var(--ono-red-orange)]" href="${ce(F(t,"url")??"#")}">${y(F(t,"url")??"")}</a>
103
+ <a class="text-sm truncate text-[var(--ono-red-orange)]" href="${pe(F(t,"url")??"#")}">${y(F(t,"url")??"")}</a>
104
104
  <span class="inline-block text-[10px] px-2 py-0.5 rounded-full bg-[var(--ono-chip-bg)] text-[var(--ono-chip-text)]">${y(F(t,"method")??"GET")}</span>
105
105
  <div class="grow"></div>
106
106
  ${E({label:"Copy cURL",targetId:`clipboard-curl-${r}`}).html}
107
107
  </div>
108
- <div class="px-4 pb-4 overflow-auto mt-2">${te}</div>
108
+ <div class="px-4 pb-4 overflow-auto mt-2">${se}</div>
109
109
  </section>
110
110
 
111
- <input type="hidden" id="clipboard-headers-${r}" value="${C(JSON.stringify(l??{}))}">
111
+ <input type="hidden" id="clipboard-headers-${r}" value="${C(JSON.stringify(v??{}))}">
112
112
  <section id="context-headers" class="mb-4 rounded-[var(--ono-radius-lg)] shadow-[var(--ono-elevation-1)] overflow-hidden bg-[var(--ono-surface)] border border-[var(--ono-border)]">
113
113
  <div class="px-4 py-2 flex items-center gap-2 bg-[var(--ono-surface-muted)] border-b border-[var(--ono-border)]">
114
114
  <span class="dui size-4" style="-webkit-mask-image:url('${j}'); mask-image:url('${j}')"></span>
@@ -117,47 +117,47 @@ import{s as q,a as G,l as _,b as K,c as de,d as le,e as ce}from"../../packem_sha
117
117
  <a href="#context-headers" class="text-xs text-[var(--ono-text-muted)]" aria-label="Anchor">#</a>
118
118
  ${E({label:"Copy JSON",targetId:`clipboard-headers-${r}`}).html}
119
119
  </div>
120
- <div class="max-w-full overflow-auto mt-2">${R(l)}</div>
120
+ <div class="max-w-full overflow-auto mt-2">${_(v)}</div>
121
121
  </section>
122
122
 
123
- <input type="hidden" id="clipboard-body-${r}" value="${C(Q(f??{}))}">
123
+ <input type="hidden" id="clipboard-body-${r}" value="${C(ee(f??{}))}">
124
124
  <section id="context-body" class="mb-4 rounded-[var(--ono-radius-lg)] shadow-[var(--ono-elevation-1)] overflow-hidden bg-[var(--ono-surface)] border border-[var(--ono-border)]">
125
125
  <div class="px-4 py-2 flex items-center gap-2 bg-[var(--ono-surface-muted)] border-b border-[var(--ono-border)]">
126
- <span class="dui size-4" style="-webkit-mask-image:url('${N}'); mask-image:url('${N}')"></span>
126
+ <span class="dui size-4" style="-webkit-mask-image:url('${J}'); mask-image:url('${J}')"></span>
127
127
  <h3 class="text-sm font-semibold text-[var(--ono-text)]">Body</h3>
128
128
  <div class="grow"></div>
129
129
  <a href="#context-body" class="text-xs text-[var(--ono-text-muted)]" aria-label="Anchor">#</a>
130
130
  ${E({label:"Copy JSON",targetId:`clipboard-body-${r}`}).html}
131
131
  </div>
132
- <div class="max-w-full overflow-auto mt-2">${ae(f)}</div>
132
+ <div class="max-w-full overflow-auto mt-2">${de(f)}</div>
133
133
  </section>
134
134
 
135
- <input type="hidden" id="clipboard-session-${r}" value="${C(JSON.stringify(t.session??{}))}">
135
+ <input type="hidden" id="clipboard-session-${r}" value="${C(JSON.stringify(V??{}))}">
136
136
  <section id="context-session" class="mb-4 rounded-[var(--ono-radius-lg)] shadow-[var(--ono-elevation-1)] overflow-hidden bg-[var(--ono-surface)] border border-[var(--ono-border)]">
137
137
  <div class="px-4 py-2 flex items-center gap-2 bg-[var(--ono-surface-muted)] border-b border-[var(--ono-border)]">
138
- <span class="dui size-4" style="-webkit-mask-image:url('${I}'); mask-image:url('${I}')"></span>
138
+ <span class="dui size-4" style="-webkit-mask-image:url('${B}'); mask-image:url('${B}')"></span>
139
139
  <h3 class="text-sm font-semibold text-[var(--ono-text)]">Session</h3>
140
140
  <div class="grow"></div>
141
141
  <a href="#context-session" class="text-xs text-[var(--ono-text-muted)]" aria-label="Anchor">#</a>
142
142
  ${E({label:"Copy JSON",targetId:`clipboard-session-${r}`}).html}
143
143
  </div>
144
- <div class="max-w-full overflow-auto mt-2">${V(t.session)}</div>
144
+ <div class="max-w-full overflow-auto mt-2">${P(V)}</div>
145
145
  </section>
146
146
 
147
147
  <input type="hidden" id="clipboard-cookies-${r}" value="${C(JSON.stringify(D))}">
148
148
  <section id="context-cookies" class="mb-4 rounded-[var(--ono-radius-lg)] shadow-[var(--ono-elevation-1)] overflow-hidden bg-[var(--ono-surface)] border border-[var(--ono-border)]">
149
149
  <div class="px-4 py-2 flex items-center gap-2 bg-[var(--ono-surface-muted)] border-b border-[var(--ono-border)]">
150
- <span class="dui size-4" style="-webkit-mask-image:url('${B}'); mask-image:url('${B}')"></span>
150
+ <span class="dui size-4" style="-webkit-mask-image:url('${N}'); mask-image:url('${N}')"></span>
151
151
  <h3 class="text-sm font-semibold text-[var(--ono-text)]">Cookies</h3>
152
152
  <div class="grow"></div>
153
153
  <a href="#context-cookies" class="text-xs text-[var(--ono-text-muted)]" aria-label="Anchor">#</a>
154
154
  ${E({label:"Copy JSON",targetId:`clipboard-cookies-${r}`}).html}
155
155
  </div>
156
- <div class="max-w-full overflow-auto mt-2">${R(D)}
156
+ <div class="max-w-full overflow-auto mt-2">${_(D)}
157
157
  </div>
158
- </section>${W.content}
158
+ </section>${X.content}
159
159
  </div>`;return{code:{html:`
160
160
  <div class="w-full flex gap-4 relative">
161
- ${ie}
162
- ${ne}
163
- </div>`,script:""},id:"context",name:"Context"}};export{we as default};
161
+ ${le}
162
+ ${ce}
163
+ </div>`,script:""},id:"context",name:"Context"}};export{Ce as default};