@dogsbay/render 0.2.0-beta.119 → 0.2.0-beta.121
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/dist/bin.mjs +1 -1
- package/dist/chunks/{chunk-LS5FTFJ5.mjs → chunk-32FMKE2Q.mjs} +1 -1
- package/dist/chunks/{chunk-SMFEHREE.mjs → chunk-LCM5MFMH.mjs} +1 -1
- package/dist/chunks/{chunk-ANG7XJDY.mjs → chunk-TJ3KU2ZA.mjs} +84 -17
- package/dist/chunks/{highlight-YFDEGNAG.mjs → highlight-WZVMLEXB.mjs} +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +6 -6
package/dist/bin.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{b as e}from"./chunks/chunk-
|
|
2
|
+
import{b as e}from"./chunks/chunk-LCM5MFMH.mjs";import"./chunks/chunk-TJ3KU2ZA.mjs";import"./chunks/chunk-32FMKE2Q.mjs";import"./chunks/chunk-2V77MTNA.mjs";e(process.argv.slice(2)).then(r=>{process.exitCode=r});
|
|
@@ -257,7 +257,7 @@ ${r}
|
|
|
257
257
|
`;function Ss(e){return d0.render(e).trim()}function J3(e){return K3.renderInline(e.replace(/\s*\n\s*/g," ")).trim()}function Mu(e){return Array.isArray(e)?e.map(u=>{if(!u||typeof u!="object")return u;let t={...u};return typeof t.description=="string"&&(t.description=J3(t.description)),t.properties&&(t.properties=Mu(t.properties)),t.items&&(t.items=Mu(t.items)),t}):e}var O=e=>e==null||e===""?void 0:String(e),xe=e=>Array.isArray(e)?e.filter(u=>u&&typeof u=="object"):[],Ls=new Set(["api-class","api-member","api-doc","api-params","api-source","endpoint"]);function Is(e,u){switch(e.type){case"api-class":case"api-member":return Q3(e,u);case"api-doc":return Ns(O(e.props?.html)??"","[&>p:first-child]:mt-0 [&>p:last-child]:mb-2",u);case"api-params":return tg(e,u);case"api-source":return rg(e,u);case"endpoint":return mg(e,u);default:return""}}function Q3(e,u){let t=e.props??{},r=O(t.name)??"",n=O(t.kind)??"func",i=O(t.signature),c=Array.isArray(t.bases)?t.bases.map(String):[],o=Math.min(6,(u.apiParentLevel??u.lastHeadingLevel??1)+1),a=n==="method"?"meth":n,s=Er(u,r.toLowerCase().replace(/[^\w]/g,"-").replace(/-+/g,"-"));return u.apiSymbolHeadings&&u.headings.push({depth:o,id:s,text:r}),`<div class="api-symbol not-prose" data-kind="${v(n)}"><div class="api-symbol-heading"><span class="api-badge api-badge-${v(a)}">${v(a)}</span><h${o} id="${v(s)}" class="!mt-0 !mb-0 !border-0"><code class="text-lg font-semibold">${v(r)}</code></h${o}></div>`+(i?Nu(i,"python",u):"")+(c.length?`<p class="api-symbol-bases">Bases: ${c.map(l=>`<code>${v(l)}</code>`).join("")}</p>`:"")+`<div class="mt-3">${X3(u,o,()=>R(e.children,u))}</div></div>
|
|
258
258
|
`}function X3(e,u,t){let r=e.apiParentLevel;e.apiParentLevel=u;try{return t()}finally{e.apiParentLevel=r}}var eg=/<pre><code(?:\s+class="language-(\w+)")?>([\s\S]*?)<\/code><\/pre>/g,ug=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"');function Ms(e){let u=[],t=0;for(let r of e.matchAll(eg))r.index>t&&u.push({html:e.slice(t,r.index)}),u.push({code:ug(r[2]),lang:r[1]||"python"}),t=r.index+r[0].length;return t<e.length&&u.push({html:e.slice(t)}),u}function Ns(e,u,t){return Ms(e).map(r=>"code"in r?Nu(r.code,r.lang,t):`<div class="prose prose-sm dark:prose-invert max-w-none ${u}">${Ze(r.html,t)}</div>`).join("")}function tg(e,u){let t=xe(e.props?.params).map(n=>{let i=O(n.type),c=O(n.default);return`<tr class="border-b border-border/50"><td class="py-3 px-4 align-top"><code class="text-sm font-medium">${v(O(n.name)??"")}</code></td><td class="py-3 px-4 align-top">${Ns(O(n.docHtml)??"","[&>p:first-child]:mt-0 [&>p:last-child]:mb-0",u)}<div class="flex items-center gap-4 mt-2 text-xs text-muted-foreground">`+(i?`<span><strong>TYPE:</strong> <code class="text-xs">${v(i)}</code></span>`:"")+(c?`<span class="ml-auto"><strong>DEFAULT:</strong> <code class="text-xs">${v(c)}</code></span>`:"")+"</div></td></tr>"}).join(""),r="py-3 px-4 text-left font-semibold text-muted-foreground uppercase tracking-wider text-xs";return`<table class="api-params w-full text-sm border-collapse not-prose"><thead><tr class="border-b border-border"><th class="${r} w-[140px]">Parameter</th><th class="${r}">Description</th></tr></thead><tbody>${t}</tbody></table>
|
|
259
259
|
`}function rg(e,u){let t=e.props??{},r=O(t.file),n=Number(t.line)||void 0,i=r?`Source code in ${r}${n?`, line ${n}`:""}`:"Source code";return`<details class="api-source"><summary>${v(i)}</summary>${Nu(O(t.code)??"","python",u)}</details>
|
|
260
|
-
`}var Rs=["get","post","put","patch","delete","head"];function ng(e){return`<span class="inline-flex items-center rounded-md px-2 py-0.5 text-xs font-bold uppercase tracking-wide font-mono${Rs.includes(e)?` bg-api-${e}/20 text-api-${e}`:e==="options"?" bg-muted/20 text-muted-foreground":""}" data-method="${v(e)}">${v(e)}</span>`}function ig(e,u,t){let r=Rs.includes(e)?`border px-4 py-3 bg-api-${e}/10 border-l-api-${e}`:e==="options"?"border px-4 py-3 bg-muted/40 border-l-muted-foreground":"border border-l-current px-4 py-3",n=u.split(/(\{[^}]+\})/g).map(c=>c.startsWith("{")?`<span class="text-api-put">${v(c)}</span>`:`<span>${v(c)}</span>`).join(""),i=`<db-code-block class="shrink-0" data-copy-text="${v(t+u)}"><button type="button" data-part="copy" aria-label="Copy to clipboard" class="inline-flex h-8 w-8 items-center justify-center rounded-md border border-border bg-background text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">${m0}${g0}</button></db-code-block>`;return`<div class="flex items-center gap-3 rounded-lg ${r}">${ng(e)}<code class="flex-1 truncate text-sm font-medium">${t?`<span class="text-muted-foreground">${v(t)}</span>`:""}${n}</code>${i}</div>`}var og='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-3.5 shrink-0 text-muted-foreground transition-transform duration-200" data-section-chevron aria-hidden="true"><polyline points="9 18 15 12 9 6"></polyline></svg>',cg='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-3 shrink-0 text-muted-foreground transition-transform duration-200" data-property-chevron aria-hidden="true"><polyline points="9 18 15 12 9 6"></polyline></svg>',ag='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg>';function p0(e,u){return`<details open class="rounded-lg border bg-card"><summary class="flex cursor-pointer items-center gap-2 px-4 py-3 text-sm font-semibold list-none [&::-webkit-details-marker]:hidden hover:bg-muted/50 select-none">${og}<span>${v(e)}</span></summary><div class="px-4 pb-4 pt-1">${u}</div></details>`}var h0={string:"bg-api-type-string/20 text-api-type-string",number:"bg-api-type-number/20 text-api-type-number",integer:"bg-api-type-number/20 text-api-type-number",boolean:"bg-api-type-boolean/20 text-api-type-boolean",object:"bg-api-type-object/20 text-api-type-object",array:"bg-api-type-array/20 text-api-type-array",null:"bg-muted/20 text-muted-foreground"};function b0(e,u,t){let r=v(O(e.name)??""),n=O(e.type)??"",i=O(e.format),c=O(e.description),o=xe(e.properties).length?xe(e.properties):xe(e.items),a=u*16,s=`<span class="rounded px-1.5 py-0.5 text-[10px] font-medium ${Object.hasOwn(h0,n)?h0[n]:h0.string}">${v(n)}${i?v(` <${i}>`):""}</span>`+(e.nullable===!0?'<span class="text-muted-foreground text-[10px]">nullable</span>':""),l=e.required===!0?'<span class="text-[10px] font-semibold uppercase text-api-required">required</span>':"",f=`border-b border-border last:border-b-0${e.deprecated===!0?" opacity-60":""}`,d=a>0?` style="padding-left: ${16+a}px;"`:"",p=(m,y="")=>c?`<p class="${m}"${y}>${Ze(c,t)}</p>`:"";if(o.length)return`<div class="${f}"><details><summary class="flex cursor-pointer items-start justify-between gap-4 px-4 py-3 list-none [&::-webkit-details-marker]:hidden hover:bg-muted/50 rounded"${d}><div class="flex items-center gap-2 min-w-0">${cg}<code class="text-sm font-semibold">${r}</code>${s}</div><div class="flex shrink-0 items-center gap-2">${l}</div></summary>`+p("px-4 pb-1 text-sm text-muted-foreground",` style="padding-left: ${32+a}px;"`)+`<div class="border-l border-border" style="margin-left: ${24+a}px;">${o.map(m=>b0(m,u+1,t)).join("")}</div></details></div>`;let h=u>0?" pl-5":"",b=Array.isArray(e.enum)?e.enum:void 0;return`<div class="${f}"><div class="flex items-start justify-between gap-4 px-4 py-3"${d}><div class="min-w-0 flex-1"><div class="flex items-center gap-2">${u>0?'<span class="size-3 shrink-0"></span>':""}<code class="text-sm font-semibold">${r}</code>${s}</div>`+p(`mt-1 text-sm text-muted-foreground${h}`)+(b?`<div class="mt-1.5 flex flex-wrap items-center gap-1 text-[10px]${h}"><span class="text-muted-foreground">Enum:</span>${b.map(m=>`<code class="rounded bg-muted px-1.5 py-0.5">${v(m)}</code>`).join("")}</div>`:"")+(e.example!==void 0?`<div class="mt-1 text-xs text-muted-foreground${h}">Example: <code class="rounded bg-muted px-1 py-0.5">${v(JSON.stringify(e.example))}</code></div>`:"")+(e.default!==void 0?`<div class="mt-1 text-xs text-muted-foreground${h}">Default: <code class="rounded bg-muted px-1 py-0.5">${v(JSON.stringify(e.default))}</code></div>`:"")+`</div><div class="flex shrink-0 items-center gap-2 pt-0.5">${l}</div></div></div>`}var sg=[["path","Path Parameters"],["query","Query Parameters"],["header","Header Parameters"],["cookie","Cookie Parameters"]];function lg(e,u){return"<div>"+sg.map(([r,n])=>({label:n,items:e.filter(i=>i.in===r)})).filter(r=>r.items.length).map(r=>`<div class="mb-4 last:mb-0"><p class="mb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">${r.label}</p><div class="rounded-lg border bg-card">${r.items.map(n=>b0(n,0,u)).join("")}</div></div>`).join("")+"</div>"}function Os(e,u){return`<div class="rounded-lg border bg-card"><div>${e.map(t=>b0(t,0,u)).join("")}</div></div>`}var Ps={class:"my-4 w-full overflow-hidden rounded-lg border border-border"};function Bs(e){let u=new Set;return e.map((t,r)=>{for(;u.has(t);)t+=` (${r+1})`;return u.add(t),t})}function fg(e){let u=e[0];return u>="2"&&u<="5"?`bg-api-status-${u}xx/20 text-api-status-${u}xx`:"bg-muted/20 text-muted-foreground"}function dg(e,u){let t=Bs(e.map(r=>String(r.status??"")));return wr(e.map((r,n)=>{let i=String(r.status??""),c=O(r.description);return{value:t[n],label:`<span class="rounded px-1.5 py-0.5 text-xs font-mono font-bold ${fg(i)}">${v(i)}</span>`,body:()=>(c?`<p class="mb-3 text-sm text-muted-foreground">${v(c)}</p>`:"")+(Array.isArray(r.schema)?Os(xe(r.schema),u):"")}}),u,Ps)}var pg={curl:"cURL",python:"Python",typescript:"TypeScript",javascript:"JavaScript",go:"Go",ruby:"Ruby",java:"Java",csharp:"C#",php:"PHP",rust:"Rust"},qs=e=>e==="curl"?"bash":e;function hg(e,u){let t=Bs(e.map(r=>O(r.language)??""));return wr(e.map((r,n)=>{let i=O(r.language)??"";return{value:t[n],label:v(O(r.label)??pg[i]??i),body:()=>Nu(O(r.code)??"",qs(i),u)}}),u,Ps)}var Fs={"application/json":"json","application/xml":"xml","application/x-www-form-urlencoded":"plaintext","text/xml":"xml","text/html":"html","text/plain":"plaintext","text/yaml":"yaml","application/yaml":"yaml","application/x-yaml":"yaml","multipart/form-data":"plaintext"};function bg(e){if(!e)return"json";let u=e.split(";")[0].trim(),t=Fs[e]??Fs[u];return t||(u.includes("json")?"json":u.includes("xml")?"xml":u.includes("yaml")||u.includes("yml")?"yaml":"json")}var Ts="mb-3 text-xs font-semibold uppercase tracking-wider text-white/60";function js(e){let u=[],t=xe(e.codeSamples);t.length&&u.push({title:"Code samples",samples:t}),e.requestBodyExample!==void 0&&u.push({title:"Request body",code:JSON.stringify(e.requestBodyExample,null,2),lang:"json"});for(let r of xe(e.responses))r.example!==void 0&&u.push({title:`Response ${String(r.status??"")}`,code:JSON.stringify(r.example,null,2),lang:bg(O(r.contentType))});return u}function mg(e,u){let t=e.props??{},r=(O(t.method)??"get").toLowerCase(),n=O(t.path)??"",i=O(t.baseUrl)??"",c=O(t.summary),o=typeof t.description=="string"&&t.description&&t.description!==t.summary?Ss(t.description):void 0,a=t.deprecated===!0,s=xe(Mu(t.parameters)),l=xe(Mu(t.requestBody)),f=xe(t.responses).map(m=>Array.isArray(m.schema)?{...m,schema:Mu(m.schema)}:m),d=(s.length?p0("Parameters",lg(s,u)):"")+(l.length?p0("Request body",Os(l,u)):"")+(f.length?p0("Responses",dg(f,u)):""),p=`<div${F({class:"space-y-4","data-component":"endpoint-card","data-deprecated":a})}>`+ig(r,n,i)+(a?`<div class="flex items-center gap-2 rounded-lg border border-api-deprecated/30 bg-api-deprecated/10 px-4 py-2 text-sm text-api-deprecated">${ag}<span>This endpoint is deprecated.</span></div>`:"")+(c?`<p class="text-sm text-muted-foreground">${v(c)}</p>`:"")+(o?`<div class="text-sm text-muted-foreground">${Ze(o,u)}</div>`:"")+`<div class="space-y-3">${d}</div></div>`,h=js(t).map(m=>m.samples?`<div><p class="${Ts}">${v(m.title)}</p>${hg(m.samples,u)}</div>`:`<div><p class="${Ts}">${v(m.title)}</p>${Nu(m.code,m.lang,u)}</div>`).join(""),b=u.embeddedEndpoints===!1;return`<div class="dba-api grid grid-cols-1 lg:grid-cols-2 ${b?"lg:min-h-[calc(100vh-3rem)]":"my-6 rounded-lg border overflow-hidden"}"><div class="${b?"px-6 py-10":"p-6"} lg:border-r">${p}</div><div class="bg-[var(--api-panel-bg)] text-[var(--api-panel-fg)]"><div class="${b?"px-6 py-10 lg:sticky lg:top-12 lg:max-h-[calc(100vh-3rem)] lg:overflow-y-auto":"p-6"}"><div class="space-y-8">${h}</div></div></div></div>
|
|
260
|
+
`}var Rs=["get","post","put","patch","delete","head"];function ng(e){return`<span class="inline-flex items-center rounded-md px-2 py-0.5 text-xs font-bold uppercase tracking-wide font-mono${Rs.includes(e)?` bg-api-${e}/20 text-api-${e}`:e==="options"?" bg-muted/20 text-muted-foreground":""}" data-method="${v(e)}">${v(e)}</span>`}function ig(e,u,t){let r=Rs.includes(e)?`border px-4 py-3 bg-api-${e}/10 border-l-api-${e}`:e==="options"?"border px-4 py-3 bg-muted/40 border-l-muted-foreground":"border border-l-current px-4 py-3",n=u.split(/(\{[^}]+\})/g).map(c=>c.startsWith("{")?`<span class="text-api-put">${v(c)}</span>`:`<span>${v(c)}</span>`).join(""),i=`<db-code-block class="shrink-0" data-copy-text="${v(t+u)}"><button type="button" data-part="copy" aria-label="Copy to clipboard" class="inline-flex h-8 w-8 items-center justify-center rounded-md border border-border bg-background text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring">${m0}${g0}</button></db-code-block>`;return`<div class="flex items-center gap-3 rounded-lg ${r}">${ng(e)}<code class="flex-1 truncate text-sm font-medium">${t?`<span class="text-muted-foreground">${v(t)}</span>`:""}${n}</code>${i}</div>`}var og='<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-3.5 shrink-0 text-muted-foreground transition-transform duration-200" data-section-chevron aria-hidden="true"><polyline points="9 18 15 12 9 6"></polyline></svg>',cg='<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-3 shrink-0 text-muted-foreground transition-transform duration-200" data-property-chevron aria-hidden="true"><polyline points="9 18 15 12 9 6"></polyline></svg>',ag='<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path></svg>';function p0(e,u){return`<details open class="rounded-lg border bg-card"><summary class="flex cursor-pointer items-center gap-2 px-4 py-3 text-sm font-semibold list-none [&::-webkit-details-marker]:hidden hover:bg-muted/50 select-none">${og}<span>${v(e)}</span></summary><div class="px-4 pb-4 pt-1">${u}</div></details>`}var h0={string:"bg-api-type-string/20 text-api-type-string",number:"bg-api-type-number/20 text-api-type-number",integer:"bg-api-type-number/20 text-api-type-number",boolean:"bg-api-type-boolean/20 text-api-type-boolean",object:"bg-api-type-object/20 text-api-type-object",array:"bg-api-type-array/20 text-api-type-array",null:"bg-muted/20 text-muted-foreground"};function b0(e,u,t){let r=v(O(e.name)??""),n=O(e.type)??"",i=O(e.format),c=O(e.description),o=xe(e.properties).length?xe(e.properties):xe(e.items),a=u*16,s=`<span class="rounded px-1.5 py-0.5 text-[10px] font-medium ${Object.hasOwn(h0,n)?h0[n]:h0.string}">${v(n)}${i?v(` <${i}>`):""}</span>`+(e.nullable===!0?'<span class="text-muted-foreground text-[10px]">nullable</span>':""),l=e.required===!0?'<span class="text-[10px] font-semibold uppercase text-api-required">required</span>':"",f=`border-b border-border last:border-b-0${e.deprecated===!0?" opacity-60":""}`,d=a>0?` style="padding-left: ${16+a}px;"`:"",p=(m,y="")=>c?`<p class="${m}"${y}>${Ze(c,t)}</p>`:"";if(o.length)return`<div class="${f}"><details><summary class="flex cursor-pointer items-start justify-between gap-4 px-4 py-3 list-none [&::-webkit-details-marker]:hidden hover:bg-muted/50 rounded"${d}><div class="flex items-center gap-2 min-w-0">${cg}<code class="text-sm font-semibold">${r}</code>${s}</div><div class="flex shrink-0 items-center gap-2">${l}</div></summary>`+p("px-4 pb-1 text-sm text-muted-foreground",` style="padding-left: ${32+a}px;"`)+`<div class="border-l border-border" style="margin-left: ${24+a}px;">${o.map(m=>b0(m,u+1,t)).join("")}</div></details></div>`;let h=u>0?" pl-5":"",b=Array.isArray(e.enum)?e.enum:void 0;return`<div class="${f}"><div class="flex items-start justify-between gap-4 px-4 py-3"${d}><div class="min-w-0 flex-1"><div class="flex items-center gap-2">${u>0?'<span class="size-3 shrink-0"></span>':""}<code class="text-sm font-semibold">${r}</code>${s}</div>`+p(`mt-1 text-sm text-muted-foreground${h}`)+(b?`<div class="mt-1.5 flex flex-wrap items-center gap-1 text-[10px]${h}"><span class="text-muted-foreground">Enum:</span>${b.map(m=>`<code class="rounded bg-muted px-1.5 py-0.5">${v(m)}</code>`).join("")}</div>`:"")+(e.example!==void 0?`<div class="mt-1 text-xs text-muted-foreground${h}">Example: <code class="rounded bg-muted px-1 py-0.5">${v(JSON.stringify(e.example))}</code></div>`:"")+(e.default!==void 0?`<div class="mt-1 text-xs text-muted-foreground${h}">Default: <code class="rounded bg-muted px-1 py-0.5">${v(JSON.stringify(e.default))}</code></div>`:"")+`</div><div class="flex shrink-0 items-center gap-2 pt-0.5">${l}</div></div></div>`}var sg=[["path","Path Parameters"],["query","Query Parameters"],["header","Header Parameters"],["cookie","Cookie Parameters"]];function lg(e,u){return"<div>"+sg.map(([r,n])=>({label:n,items:e.filter(i=>i.in===r)})).filter(r=>r.items.length).map(r=>`<div class="mb-4 last:mb-0"><p class="mb-1 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground">${r.label}</p><div class="rounded-lg border bg-card">${r.items.map(n=>b0(n,0,u)).join("")}</div></div>`).join("")+"</div>"}function Os(e,u){return`<div class="rounded-lg border bg-card"><div>${e.map(t=>b0(t,0,u)).join("")}</div></div>`}var Ps={class:"my-4 w-full overflow-hidden rounded-lg border border-border"};function Bs(e){let u=new Set;return e.map((t,r)=>{for(;u.has(t);)t+=` (${r+1})`;return u.add(t),t})}function fg(e){let u=e[0];return u>="2"&&u<="5"?`bg-api-status-${u}xx/20 text-api-status-${u}xx`:"bg-muted/20 text-muted-foreground"}function dg(e,u){let t=Bs(e.map(r=>String(r.status??"")));return wr(e.map((r,n)=>{let i=String(r.status??""),c=O(r.description);return{value:t[n],label:`<span class="rounded px-1.5 py-0.5 text-xs font-mono font-bold ${fg(i)}">${v(i)}</span>`,body:()=>(c?`<p class="mb-3 text-sm text-muted-foreground">${v(c)}</p>`:"")+(Array.isArray(r.schema)?Os(xe(r.schema),u):"")}}),u,Ps)}var pg={curl:"cURL",python:"Python",typescript:"TypeScript",javascript:"JavaScript",go:"Go",ruby:"Ruby",java:"Java",csharp:"C#",php:"PHP",rust:"Rust"},qs=e=>e==="curl"?"bash":e;function hg(e,u){let t=Bs(e.map(r=>O(r.language)??""));return wr(e.map((r,n)=>{let i=O(r.language)??"";return{value:t[n],label:v(O(r.label)??pg[i]??i),body:()=>Nu(O(r.code)??"",qs(i),u)}}),u,Ps)}var Fs={"application/json":"json","application/xml":"xml","application/x-www-form-urlencoded":"plaintext","text/xml":"xml","text/html":"html","text/plain":"plaintext","text/yaml":"yaml","application/yaml":"yaml","application/x-yaml":"yaml","multipart/form-data":"plaintext"};function bg(e){if(!e)return"json";let u=e.split(";")[0].trim(),t=Fs[e]??Fs[u];return t||(u.includes("json")?"json":u.includes("xml")?"xml":u.includes("yaml")||u.includes("yml")?"yaml":"json")}var Ts="mb-3 text-xs font-semibold uppercase tracking-wider text-white/60";function js(e){let u=[],t=xe(e.codeSamples);t.length&&u.push({title:"Code samples",samples:t}),e.requestBodyExample!==void 0&&u.push({title:"Request body",code:JSON.stringify(e.requestBodyExample,null,2),lang:"json"});for(let r of xe(e.responses))r.example!==void 0&&u.push({title:`Response ${String(r.status??"")}`,code:JSON.stringify(r.example,null,2),lang:bg(O(r.contentType))});return u}function mg(e,u){let t=e.props??{},r=(O(t.method)??"get").toLowerCase(),n=O(t.path)??"",i=O(t.baseUrl)??"",c=O(t.summary),o=typeof t.description=="string"&&t.description&&t.description!==t.summary?Ss(t.description):void 0,a=t.deprecated===!0,s=xe(Mu(t.parameters)),l=xe(Mu(t.requestBody)),f=xe(t.responses).map(m=>Array.isArray(m.schema)?{...m,schema:Mu(m.schema)}:m),d=(s.length?p0("Parameters",lg(s,u)):"")+(l.length?p0("Request body",Os(l,u)):"")+(f.length?p0("Responses",dg(f,u)):""),p=`<div${F({class:"space-y-4","data-component":"endpoint-card","data-deprecated":a})}>`+ig(r,n,i)+(a?`<div class="flex items-center gap-2 rounded-lg border border-api-deprecated/30 bg-api-deprecated/10 px-4 py-2 text-sm text-api-deprecated">${ag}<span>This endpoint is deprecated.</span></div>`:"")+(c?`<p class="text-sm text-muted-foreground">${v(c)}</p>`:"")+(o?`<div class="api-description text-sm text-muted-foreground">${Ze(o,u)}</div>`:"")+`<div class="space-y-3">${d}</div></div>`,h=js(t).map(m=>m.samples?`<div><p class="${Ts}">${v(m.title)}</p>${hg(m.samples,u)}</div>`:`<div><p class="${Ts}">${v(m.title)}</p>${Nu(m.code,m.lang,u)}</div>`).join(""),b=u.embeddedEndpoints===!1;return`<div class="dba-api grid grid-cols-1 lg:grid-cols-2 ${b?"lg:min-h-[calc(100vh-3rem)]":"my-6 rounded-lg border overflow-hidden"}"><div class="${b?"px-6 py-10":"p-6"} lg:border-r">${p}</div><div class="bg-[var(--api-panel-bg)] text-[var(--api-panel-fg)]"><div class="${b?"px-6 py-10 lg:sticky lg:top-12 lg:max-h-[calc(100vh-3rem)] lg:overflow-y-auto":"p-6"}"><div class="space-y-8">${h}</div></div></div></div>
|
|
261
261
|
`}function zs(e){let u=e.props??{},t=r=>Ms(r??"").flatMap(n=>"code"in n?[{lang:n.lang,code:n.code}]:[]);switch(e.type){case"api-class":case"api-member":return O(u.signature)?[{lang:"python",code:String(u.signature)}]:[];case"api-source":return[{lang:"python",code:O(u.code)??""}];case"api-doc":return t(O(u.html));case"api-params":return xe(u.params).flatMap(r=>t(O(r.docHtml)));case"endpoint":return js(u).flatMap(r=>r.samples?r.samples.map(n=>({lang:qs(O(n.language)??""),code:O(n.code)??""})):[{lang:r.lang,code:r.code}]);default:return[]}}function Fr(e,u){return dt(e,"link")?(u.unsafeUrls?.add(e.slice(0,80)),"#"):u.link(e)}function Tr(e,u){return dt(e,"image")?(u.unsafeUrls?.add(e.slice(0,80)),""):u.asset(e)}function Zs(e,u,t){if(t.math){t.usedMath=!0;try{let r=t.math(e,u);if(typeof r!="string")throw new TypeError("math renderer returned no string");return`${mt}${r.replaceAll(mt,"").replaceAll(gt,"")}${gt}`}catch{return`<code class="text-destructive">${v(e)}</code>`}}}var gg=/^(db-|tab-\d|tabpanel-\d|acc-\d|accpanel-\d|fn-|fnref-)/;function Er(e,u){gg.test(u)&&(u=`h-${u}`);let t=u||"section",r=1;for(;e.ids.has(t);)t=`${u}-${++r}`;return e.ids.add(t),t}function B(e,u){if(!e)return"";let t="";for(let r of e)t+=xg(r,u);return t}function Hs(e,u){return u.strikethrough&&(e=`<del>${e}</del>`),u.italic&&(e=`<em>${e}</em>`),u.bold&&(e=`<strong>${e}</strong>`),e}function xg(e,u){switch(e.type){case"text":return Hs(v(e.text),e);case"code":return Hs(`<code>${v(e.text)}</code>`,e);case"link":{let t=Fr(e.href,u),r=/^[a-z][a-z0-9+.-]*:|^\/\//i.test(t)&&!t.startsWith("mailto:"),n=e.button?Ws(e.button.variant):void 0,i={...L(e.attrs,n?`${Ys.split(" ").filter(c=>c!=="text-sm").join(" ")} ${Dr[n]??Dr.default} h-9 px-3 text-xs no-underline`:void 0),href:t,title:e.title,"data-variant":n,"data-size":n?"sm":void 0};return r&&(i.rel="noopener"),n||(i["data-link-kind"]=r?"external":t.startsWith("#")?void 0:"internal"),`<a${F(i)}>${ht(!0,u,()=>B(e.children,u))}</a>`}case"image":{let t=e.attrs??{};return`<img${F({...L(t),src:Tr(e.src,u),alt:e.alt??"",title:e.title,width:e.width??t.width,height:e.height??t.height,loading:"lazy",decoding:"async","data-zoomable":t["data-zoomable"]??(u.imageZoom&&!(u.inLink&&u.imageZoom==="outside-links")?"true":void 0)})}>`}case"highlight":return`<mark class="rounded-sm bg-yellow-200/60 px-0.5 dark:bg-yellow-500/30">${B(e.children,u)}</mark>`;case"footnote-ref":{let t=v(e.label),r=u.fnRefs??=new Map,n=(r.get(e.label)??0)+1;return r.set(e.label,n),`<sup><a id="${n===1?`fnref-${t}`:`fnref-${t}-${n}`}" href="#fn-${t}" role="doc-noteref" class="text-primary hover:underline">[${t}]</a></sup>`}case"kbd":return e.keys.map(t=>`<kbd class="${Cs}">${v(t)}</kbd>`).join("+");case"badge":{let t=e.variant??"default";return`<span${F({...L(e.attrs,vs(t)),"data-variant":t})}>${v(e.text)}</span>`}case"icon":return A0((e.library?e.library+":":"")+e.name,"db-icon db-icon-inline",u);case"math":return Zs(e.latex,!1,u)??`<code class="db-math">${v(e.latex)}</code>`;case"html-inline":return Ze(e.html,u);case"break":return"<br>";default:return u.unknown.add(`inline:${e.type}`),""}}function y0(e){if(!e)return"";let u="";for(let t of e)switch(t.type){case"text":case"code":u+=t.text;break;case"link":case"highlight":u+=y0(t.children);break;case"kbd":u+=t.keys.join("+");break;case"badge":u+=t.text;break;case"math":u+=t.latex;break;case"image":u+=t.alt??"";break;case"html-inline":u+=t.html.replace(/<[^>]*>/g,"");break}return u}var yg=/(\s)(href|src|xlink:href|action|formaction|poster|data)(\s*=\s*)("[^"]*"|'[^']*'|[^\s"'=<>`]+)/gi;function kg(e,u){return e.replace(yg,(t,r,n,i,c)=>{let o=c.startsWith('"')||c.startsWith("'"),a=n.toLowerCase();if(o&&(a==="href"||a==="src"))return t;let s=pu(o?c.slice(1,-1):c);return dt(s,a==="src"||a==="poster"?"image":"link")?(u.unsafeUrls?.add(s.slice(0,80)),`${r}${n}${i}"${a==="href"?"#":""}"`):t})}function Ze(e,u){return(u.rawHtml?u.rawHtml(e):e).replace(/<[a-zA-Z][^<>]*>/g,r=>kg(r,u).replace(/(\s)(href|src)(\s*=\s*)("([^"]*)"|'([^']*)')/gi,(n,i,c,o,a,s,l)=>{let f=pu(s??l??""),d=c.toLowerCase()==="href";if(f&&dt(f,d?"link":"image"))return u.unsafeUrls?.add(f.slice(0,80)),`${i}${c}${o}"${d?"#":""}"`;if(!f||f.startsWith("#")||/^[a-z][a-z0-9+.-]*:|^\/\//i.test(f))return n;let p=d?u.link(f):u.asset(f);return`${i}${c}${o}"${v(p)}"`}))}function _g(e,u){return e.replace(/<h([1-6])\b([^>]*)>([\s\S]*?)<\/h\1>/gi,(t,r,n,i)=>{let c=/\sid="([^"]*)"/.exec(n);if(!c)return t;let o=Er(u,pu(c[1])),a=Number(r);return(a===2||a===3)&&u.headings.push({depth:a,id:o,text:pu(i.replace(/<[^>]*>/g,"")).trim()}),`<h${r}${n.replace(c[0],` id="${v(o)}"`)}>${i}</h${r}>`})}function R(e,u){if(!e)return"";let t="";for(let r of e)t+=pt(r,u);return t}var E=e=>e==null||e===""?void 0:String(e);function Ag(e,u){return(e.inline&&e.inline.length?`<p>${B(e.inline,u)}</p>`:"")+R(e.children,u)}function x0(e,u){let t=e.props??{},r=typeof t.checked=="boolean"?`<input type="checkbox" disabled${t.checked?" checked":""}> `:"",n=e.inline&&e.inline.length?B(e.inline,u):"",i=R(e.children,u),c=i&&n?`<p>${r}${n}</p>${i}`:r+n+i;return`<li${F(L(t))}>${c}</li>`}function pt(e,u){let t=e.props??{};switch(e.type){case"paragraph":{let r=e.inline??[],n=r[0],i=r[r.length-1],c=n?.type==="html-inline"?/^<([a-z][a-z0-9]*-[a-z0-9-]*)[\s>]/i.exec(n.html)?.[1]?.toLowerCase():void 0;if(c&&i?.type==="html-inline"&&i.html.trim().toLowerCase()===`</${c}>`&&vg(r,c))return B(r,u)+`
|
|
262
262
|
`;let o=r.filter(a=>!(a.type==="text"&&!a.text.trim()));if(u.imageCaptions==="title"&&o.length===1&&o[0].type==="image"&&o[0].title){let a=o[0],{class:s,...l}=a.attrs??{},f={...a,attrs:{...l,class:"rounded-lg border"}},d=["my-4",s].filter(Boolean).join(" ");return`<figure${F(L(t,d))}>${B([f],u)}<figcaption class="mt-2 text-center text-sm text-muted-foreground">${v(a.title)}</figcaption></figure>
|
|
263
263
|
`}return`<p${F(L(t))}>${B(e.inline,u)}</p>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as c,b as g,c as v}from"./chunk-
|
|
1
|
+
import{a as c,b as g,c as v}from"./chunk-TJ3KU2ZA.mjs";import{lstatSync as L,readFileSync as h,realpathSync as k,writeFileSync as b}from"node:fs";import{dirname as M,extname as $,isAbsolute as x,resolve as j,sep as R}from"node:path";var p=`dogsbay-render ${g}: render one Dogsbay Markdown file to one self-contained HTML file
|
|
2
2
|
|
|
3
3
|
Usage: dogsbay-render <in.md | -> [-o out.html] [options]
|
|
4
4
|
|