@redocly/cli 2.51.1 → 2.52.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.
Files changed (139) hide show
  1. package/README.md +14 -1
  2. package/THIRD_PARTY_NOTICES +17 -4
  3. package/lib/chunks/2LDFGQ7M.js +67 -0
  4. package/lib/chunks/{KXYI4EET.js → 35R6GCFO.js} +1 -1
  5. package/lib/chunks/{4PIDMMUD.js → 7AUMFZDC.js} +1 -1
  6. package/lib/chunks/{CA4BPC77.js → AGENG2WT.js} +1 -1
  7. package/lib/chunks/{OEBWRENF.js → AQFM7XGG.js} +1 -1
  8. package/lib/chunks/{TMULAWFD.js → B4BGW6LX.js} +1 -1
  9. package/lib/chunks/{LWB43R4X.js → BOUAXXEO.js} +3 -3
  10. package/lib/chunks/{SKB7KFUK.js → BQFGD55Z.js} +1 -1
  11. package/lib/chunks/{IPFRJMV6.js → BT6KOTWJ.js} +1 -1
  12. package/lib/chunks/{LE7OKNLO.js → BXFJJ63W.js} +1 -1
  13. package/lib/chunks/{RXUHCIFX.js → CD6HJQ7Z.js} +1 -1
  14. package/lib/chunks/{3JJEI7CJ.js → CQMMUWIJ.js} +99 -95
  15. package/lib/chunks/{XMYTYWHZ.js → E23GS6YK.js} +1 -1
  16. package/lib/chunks/EI27DJLF.js +7 -0
  17. package/lib/chunks/FPLER37P.js +20 -0
  18. package/lib/chunks/{KQJOSAUI.js → GZNSV6XB.js} +1 -1
  19. package/lib/chunks/{NWMTC4AN.js → IULINGO6.js} +1 -1
  20. package/lib/chunks/JCEAJTUA.js +8 -0
  21. package/lib/chunks/{TSB6PODJ.js → JM7BMZLD.js} +1 -1
  22. package/lib/chunks/{6PX2QTPF.js → JQW53OZ2.js} +1 -1
  23. package/lib/chunks/LD5MEXEL.js +10 -0
  24. package/lib/chunks/{2UDYQ5CZ.js → LJ53IMLM.js} +160 -160
  25. package/lib/chunks/MJSI4VHA.js +184 -0
  26. package/lib/chunks/N6O32QAI.js +7 -0
  27. package/lib/chunks/{2OHNINBQ.js → NIDDLLHO.js} +1 -1
  28. package/lib/chunks/{K732KQHY.js → NY4C4KO6.js} +1 -1
  29. package/lib/chunks/{N5SXQI4I.js → O3T4DGBI.js} +1 -1
  30. package/lib/chunks/{6UH63WWT.js → OMNGRJM6.js} +1 -1
  31. package/lib/chunks/P5GXYHU7.js +7 -0
  32. package/lib/chunks/QB32BX35.js +7 -0
  33. package/lib/chunks/QNFSWXWM.js +9 -0
  34. package/lib/chunks/QTYASRSS.js +20 -0
  35. package/lib/chunks/RCG4MSAO.js +7 -0
  36. package/lib/chunks/{TKFA7G4G.js → RUPZTXQ3.js} +1 -1
  37. package/lib/chunks/{WHTCOU4Z.js → RZMAAWKX.js} +1 -1
  38. package/lib/chunks/{NSKVRJLY.js → SEECFWS6.js} +1 -1
  39. package/lib/chunks/SGNOWOE7.js +30 -0
  40. package/lib/chunks/SVJJMDUS.js +18 -0
  41. package/lib/chunks/TPYGW72X.js +7 -0
  42. package/lib/chunks/{CGINWISC.js → TR2ZE2NA.js} +1 -1
  43. package/lib/chunks/{SXKUE52F.js → U7Z4MLK3.js} +1 -1
  44. package/lib/chunks/UKWZHJSE.js +20 -0
  45. package/lib/chunks/{HJYFWIVE.js → UW4UC7ZI.js} +2 -2
  46. package/lib/chunks/{ZYLX724C.js → UXC4J2II.js} +1 -1
  47. package/lib/chunks/WPCGRKTH.js +7 -0
  48. package/lib/chunks/{Y2G2CYSF.js → X6NXBBZT.js} +1 -1
  49. package/lib/chunks/XAKGO2KF.js +11 -0
  50. package/lib/chunks/XMISXGL7.js +105 -0
  51. package/lib/chunks/{B3QINORT.js → Z3H5BHVF.js} +1 -1
  52. package/lib/eject-assets/generators/cli/docs.ts +1 -1
  53. package/lib/eject-assets/generators/cli/engine-source.ts +1 -1
  54. package/lib/eject-assets/generators/cli/index.ts +2 -2
  55. package/lib/eject-assets/generators/cli/render.ts +1 -1
  56. package/lib/eject-assets/generators/go/client.ts +1 -1
  57. package/lib/eject-assets/generators/go/descriptor.ts +1 -1
  58. package/lib/eject-assets/generators/go/index.ts +2 -2
  59. package/lib/eject-assets/generators/go/models.ts +1 -1
  60. package/lib/eject-assets/generators/go/naming.ts +1 -1
  61. package/lib/eject-assets/generators/go/operations.ts +1 -1
  62. package/lib/eject-assets/generators/go/pagination.ts +1 -1
  63. package/lib/eject-assets/generators/go/types.ts +1 -1
  64. package/lib/eject-assets/generators/mock/faker.ts +1 -1
  65. package/lib/eject-assets/generators/mock/index.ts +2 -2
  66. package/lib/eject-assets/generators/mock/render.ts +1 -1
  67. package/lib/eject-assets/generators/mock/sample.ts +1 -1
  68. package/lib/eject-assets/generators/mock/values.ts +1 -1
  69. package/lib/eject-assets/generators/php/client.ts +1 -1
  70. package/lib/eject-assets/generators/php/descriptor.ts +1 -1
  71. package/lib/eject-assets/generators/php/index.ts +2 -2
  72. package/lib/eject-assets/generators/php/models.ts +1 -1
  73. package/lib/eject-assets/generators/php/naming.ts +1 -1
  74. package/lib/eject-assets/generators/php/operations.ts +1 -1
  75. package/lib/eject-assets/generators/php/pagination.ts +1 -1
  76. package/lib/eject-assets/generators/php/types.ts +1 -1
  77. package/lib/eject-assets/generators/python/client.ts +1 -1
  78. package/lib/eject-assets/generators/python/descriptor.ts +1 -1
  79. package/lib/eject-assets/generators/python/index.ts +2 -2
  80. package/lib/eject-assets/generators/python/models.ts +1 -1
  81. package/lib/eject-assets/generators/python/naming.ts +1 -1
  82. package/lib/eject-assets/generators/python/operations.ts +1 -1
  83. package/lib/eject-assets/generators/python/pagination.ts +1 -1
  84. package/lib/eject-assets/generators/python/types.ts +1 -1
  85. package/lib/eject-assets/generators/swr/index.ts +2 -2
  86. package/lib/eject-assets/generators/swr/render.ts +1 -1
  87. package/lib/eject-assets/generators/tanstack-query/index.ts +2 -2
  88. package/lib/eject-assets/generators/tanstack-query/render.ts +1 -1
  89. package/lib/eject-assets/generators/transformers/index.ts +2 -2
  90. package/lib/eject-assets/generators/transformers/render.ts +1 -1
  91. package/lib/eject-assets/generators/typescript/banner.ts +1 -1
  92. package/lib/eject-assets/generators/typescript/client.ts +1 -1
  93. package/lib/eject-assets/generators/typescript/descriptor.ts +1 -1
  94. package/lib/eject-assets/generators/typescript/index.ts +2 -2
  95. package/lib/eject-assets/generators/typescript/inline-runtime.ts +1 -1
  96. package/lib/eject-assets/generators/typescript/operation-signature.ts +1 -1
  97. package/lib/eject-assets/generators/typescript/operation-types.ts +1 -1
  98. package/lib/eject-assets/generators/typescript/operations.ts +1 -1
  99. package/lib/eject-assets/generators/typescript/response-headers.ts +1 -1
  100. package/lib/eject-assets/generators/typescript/type-guards.ts +1 -1
  101. package/lib/eject-assets/generators/typescript/types.ts +1 -1
  102. package/lib/eject-assets/generators/zod/index.ts +2 -2
  103. package/lib/eject-assets/generators/zod/schemas.ts +1 -1
  104. package/lib/index.js +198 -191
  105. package/package.json +1 -1
  106. package/lib/chunks/25O4YORJ.js +0 -14
  107. package/lib/chunks/3A5KYQ7N.js +0 -26
  108. package/lib/chunks/5BMLOFU4.js +0 -20
  109. package/lib/chunks/67BLI5YQ.js +0 -90
  110. package/lib/chunks/6ZHC3PYG.js +0 -7
  111. package/lib/chunks/7SSQGR7O.js +0 -20
  112. package/lib/chunks/AH3V6J6B.js +0 -67
  113. package/lib/chunks/BGIV3YYM.js +0 -19
  114. package/lib/chunks/BJDVYUKU.js +0 -177
  115. package/lib/chunks/CXRHOXPI.js +0 -7
  116. package/lib/chunks/ECZA233J.js +0 -19
  117. package/lib/chunks/EE3PGFTZ.js +0 -16
  118. package/lib/chunks/EOS3ZB2L.js +0 -8
  119. package/lib/chunks/K2X43E7U.js +0 -57
  120. package/lib/chunks/L3TZNNJJ.js +0 -13
  121. package/lib/chunks/LAFBWLA7.js +0 -42
  122. package/lib/chunks/NB54XRRU.js +0 -10
  123. package/lib/chunks/NSIQWNYL.js +0 -7
  124. package/lib/chunks/NYFYWKQQ.js +0 -9
  125. package/lib/chunks/OIVSGFXK.js +0 -18
  126. package/lib/chunks/OKRLSOE5.js +0 -22
  127. package/lib/chunks/OZMIIHFH.js +0 -184
  128. package/lib/chunks/PFYPTG4G.js +0 -7
  129. package/lib/chunks/RBHN62FF.js +0 -7
  130. package/lib/chunks/REFX2EKS.js +0 -13
  131. package/lib/chunks/SGBB4RNM.js +0 -11
  132. package/lib/chunks/SQVG3CEM.js +0 -8
  133. package/lib/chunks/TVJE32GA.js +0 -11
  134. package/lib/chunks/VRWULG7P.js +0 -7
  135. package/lib/chunks/VZCENZBY.js +0 -30
  136. package/lib/chunks/WSOCDFHJ.js +0 -7
  137. package/lib/chunks/Y4BUDNR4.js +0 -14
  138. package/lib/chunks/ZBL4IVEW.js +0 -11
  139. /package/lib/chunks/{UKSQ7B5H.js → 2U6O26CV.js} +0 -0
@@ -1,7 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- var r=class extends Error{constructor(s){super(s),this.name="NotSupportedError"}};export{r as a};
@@ -1,7 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{d as a,e as b,f as c}from"./67BLI5YQ.js";import"./UKSQ7B5H.js";import"./TVJE32GA.js";import"./LWB43R4X.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./NB54XRRU.js";import"./HJYFWIVE.js";import"./RFWIIJFG.js";export{b as typescriptDocs,a as typescriptGenerator,c as typescriptSample};
@@ -1,13 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as E,c as b,d as m,l as y}from"./HJYFWIVE.js";var $=b.go,w=class extends E{constructor(){super(" ")}typeName(t){return x(t)}memberName(t){return x(t)}identifier(t){return m(t,{style:"camel",reserved:$})}identifiers(t,n){let r=new Set(n??[]);return t.map(e=>{let a=x(e),c=a;for(let o=2;r.has(c);o++)c=`${a}${o}`;return r.add(c),c})}packageName(t){let n=t.toLowerCase().replace(/[^a-z0-9]/g,"");return n===""||/^[0-9]/.test(n)?"client":n}string(t){let n='"';for(let r of t){let e=r.codePointAt(0);r==="\\"?n+="\\\\":r==='"'?n+='\\"':r===`
8
- `?n+="\\n":r==="\r"?n+="\\r":r===" "?n+="\\t":e<32||e===127?n+=`\\x${e.toString(16).padStart(2,"0")}`:e>=55296&&e<=57343?n+="\\uFFFD":n+=r}return n+'"'}literal(t){return t==null?"nil":typeof t=="boolean"||typeof t=="number"?String(t):typeof t=="string"?this.string(t):Array.isArray(t)?`[]any{${t.map(r=>this.literal(r)).join(", ")}}`:`map[string]any{${Object.entries(t).map(([r,e])=>`${this.string(r)}: ${this.literal(e)}`).join(", ")}}`}comment(t){for(let n of y(t))this.line(n===""?"//":`// ${n}`);return this}doc(t,n){let r=y(n);if(r.length===0)return this;this.line(`// ${t} \u2014 ${r[0]}`);let e=!1;for(let a of r.slice(1)){if(a===""){e||this.line("//"),e=!0;continue}this.line(`// ${a}`),e=!1}return this}layout(t){return A(N(t))}toString(){return this.layout(super.toString())}};function x(g){let t=m(g,{style:"pascal",reserved:$});return t.startsWith("_")?`N${t.slice(1)}`:t}function A(g){return`${g.replace(/\n{3,}/g,`
9
-
10
- `).trimEnd()}
11
- `}function N(g){let t=g.split(`
12
- `),n=[...t],r=/^(\t+)([A-Za-z_]\w*) (\S+)( `[^`]*`)?$/,e=/^(\t+)([A-Za-z_]\w*) (\S+) = (.+)$/,a=/^(\t+)("(?:[^"\\]|\\.)*":) (.+)$/,c=u=>{if(u.length<2)return;let d=[];for(let{parts:i}of u)i.forEach((s,l)=>{l<i.length-1&&(d[l]=Math.max(d[l]??0,s.length))});for(let{index:i,parts:s,indent:l}of u){let f=s.map((p,h)=>h<s.length-1?p.padEnd(d[h]??0):p);n[i]=l+f.join(" ").trimEnd()}},o=[],S;return t.forEach((u,d)=>{let i=a.exec(u),s=i===null?e.exec(u):null,l=i===null&&s===null?r.exec(u):null,f=l!==null&&!$.has(l[2])?l:null,p=i!==null?"entry":s!==null?"const":f!==null?"field":void 0;if((p===void 0||p!==S)&&(c(o),o=[],S=p),i!==null){o.push({index:d,indent:i[1],parts:[i[2],i[3]]});return}if(s!==null){o.push({index:d,indent:s[1],parts:[s[2],s[3],"=",s[4]]});return}if(f!==null){let h=[f[2],f[3]];f[4]!==void 0&&h.push(f[4].trimStart()),o.push({index:d,indent:f[1],parts:h})}}),c(o),n.join(`
13
- `)}export{w as a,x as b};
@@ -1,11 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as s}from"./WZXA5XPB.js";import{a as m}from"./3JJEI7CJ.js";import{e as f}from"./RFWIIJFG.js";var e=f(m(),1);if(typeof e.default?.createSourceFile!="function")throw new Error(`Baking a --setup module needs the TypeScript compiler API, but the installed \`typescript\` package${e.default?.version?` (${e.default.version})`:""} does not include it \u2014 TypeScript 7 ships only the native tsc. Install TypeScript 6 for generation (npm i -D typescript@6); your app can still compile the generated client with TypeScript 7.`);var a="@redocly/client-generator";function g(n){let i=e.default.createSourceFile("setup.ts",n,e.default.ScriptTarget.Latest,!0,e.default.ScriptKind.TS),p=[],o,d="defineClientSetup";for(let t of i.statements){if(e.default.isImportDeclaration(t)){let r=t.moduleSpecifier.text;if(r!==a)throw new s(`A --setup file may only import from "${a}"; found "${r}". Setup code may use web globals and the client contract only (keeps the client zero-dependency).`);let c=t.importClause?.namedBindings;if(c&&e.default.isNamedImports(c))for(let l of c.elements)(l.propertyName?.text??l.name.text)==="defineClientSetup"&&(d=l.name.text);continue}if(e.default.isExportAssignment(t)&&!t.isExportEquals){o=y(t.expression,d).getText(i);continue}if(e.default.isExportDeclaration(t)){if(t.moduleSpecifier!==void 0)throw new s(`A --setup file may only import from "${a}"; found "${t.moduleSpecifier.text}". Setup code may use web globals and the client contract only (keeps the client zero-dependency).`);continue}let u=e.default.canHaveModifiers(t)?e.default.getModifiers(t)?.find(r=>r.kind===e.default.SyntaxKind.ExportKeyword):void 0;p.push(u===void 0?t.getText(i):n.slice(u.end,t.getEnd()).trimStart())}if(o===void 0)throw new s("A --setup file must `export default defineClientSetup({ config, middleware })` (or a setup object).");return p.length===0?o:`(() => {
8
- ${p.join(`
9
- `)}
10
- return ${o};
11
- })()`}function y(n,i){return e.default.isCallExpression(n)&&e.default.isIdentifier(n.expression)&&n.expression.text===i&&n.arguments.length===1?n.arguments[0]:n}export{g as bakeSetup};
@@ -1,8 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as f,c as l,d as i,e as g,l as o}from"./HJYFWIVE.js";var s=l.python,d=class extends f{constructor(){super(" ")}typeName(r){return i(r,{style:"pascal",reserved:s})}memberName(r){let e=i(r,{style:"snake",reserved:s});return{identifier:e,renamed:e!==r}}identifier(r){return i(r,{style:"snake",reserved:s})}identifiers(r,e){return g(r,{style:"snake",reserved:s,taken:e})}constName(r){return i(r,{style:"screaming",reserved:s})}string(r){let e='"';for(let t of r){let n=t.codePointAt(0);t==="\\"?e+="\\\\":t==='"'?e+='\\"':t===`
8
- `?e+="\\n":t==="\r"?e+="\\r":t===" "?e+="\\t":n<32||n===127?e+=`\\x${n.toString(16).padStart(2,"0")}`:n>=55296&&n<=57343?e+=`\\u${n.toString(16).padStart(4,"0")}`:e+=t}return e+'"'}literal(r){return r==null?"None":r===!0?"True":r===!1?"False":typeof r=="number"?String(r):typeof r=="string"?this.string(r):Array.isArray(r)?`[${r.map(t=>this.literal(t)).join(", ")}]`:`{${Object.entries(r).map(([t,n])=>`${this.string(t)}: ${this.literal(n)}`).join(", ")}}`}comment(r){for(let e of o(r))this.line(e===""?"#":`# ${e}`);return this}doc(r){let e=o(r);if(e.length===0)return this;if(e.length===1)return this.line(`"""${e[0]}"""`);this.line(`"""${e[0]}`);for(let t of e.slice(1))this.line(t);return this.line('"""')}};export{d as a};
@@ -1,11 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as c,m as u}from"./HJYFWIVE.js";function m(e,n){let t=n??{},o=e.specName??e.name;if(Array.isArray(t.exclude)&&t.exclude.includes(o))return;let r=(t.operations??{})[o]??e.paginationExtension;if(r===void 0&&typeof t.style=="string"){let{exclude:l,operations:A,...p}=t,f=p.style==="cursor"?p.cursorParam:p.offsetParam;(p.style==="link"?e.successResponseHeaders?.some(d=>d.name==="link")===!0:typeof f=="string"&&e.queryParams.some(d=>d.name===f))&&(r=p)}if(r===void 0||typeof r.style!="string")return;let s=r.style==="cursor"?r.cursorParam:r.offsetParam;return{style:r.style,...typeof s=="string"?{param:s}:{},...typeof r.nextCursor=="string"?{nextCursor:r.nextCursor}:{},...typeof r.hasMore=="string"?{hasMore:r.hasMore}:{},...typeof r.limitParam=="string"?{limitParam:r.limitParam}:{},...typeof r.items=="string"?{items:r.items}:{}}}function g(e){return(e??"").replace(/\s+/g," ").trim().replace(/\\/g,"\\\\").replace(/\|/g,"\\|")}function a(e){switch(e.kind){case"ref":return e.name;case"omit":return e.base;case"scalar":return e.scalar;case"array":return`array of ${a(e.items)}`;case"record":return`map of ${a(e.value)}`;case"enum":{let n=e.values.map(String),t=n.slice(0,6).join(", ");return n.length>6?`enum: ${t}, and ${n.length-6} more`:`enum: ${t}`}case"literal":return String(e.value);case"union":return e.members.map(a).join(" or ");case"intersection":return e.members.map(a).join(" and ");case"object":return"object";case"null":return"null";case"unknown":return"any"}}function y(e){return e.successResponses.some(n=>n.contentType.toLowerCase().includes("json"))?!1:e.successResponses.some(n=>n.contentType.startsWith("image/")||n.contentType==="application/octet-stream")}function x(e,n){e.line("| Parameter | In | Type | Required | Description |"),e.line("| --------- | -- | ---- | -------- | ----------- |");for(let t of n)e.line(`| \`${t.name}\` | ${t.in} | ${g(a(t.schema))} | ${t.required?"yes":"no"} | ${g(t.description)} |`);e.blank()}function C(e,n,t){e.line(`### \`${n.specName??n.name}\``),e.blank(),n.summary!==void 0&&(e.line(g(n.summary)),e.blank()),e.line(`\`${n.method.toUpperCase()} ${n.path}\``),e.blank();let o=t.sample(n);if(o!==void 0){e.line("```"+t.language.fence);for(let l of o.source.replace(/\n+$/,"").split(`
8
- `))e.line(l);e.line("```"),e.blank()}let i=[...n.pathParams,...n.queryParams,...n.headerParams];i.length>0&&x(e,i),n.requestBody!==void 0&&e.line(`Body: \`${n.requestBody.contentType}\`${n.requestBody.required?", required":", optional"}, of type ${a(n.requestBody.schema)}.`);let r=n.successResponses[0];e.line(r===void 0?"Returns no content.":`Returns \`${r.contentType}\`, of type ${a(r.schema)}.`),(t.paginated!==void 0?t.paginated.has(n.name):m(n,t.pagination)!==void 0)&&e.line("This operation is paginated, so the SDK gives it page and item iterators."),n.successResponses.some(l=>l.contentType==="text/event-stream")&&e.line("This operation streams server-sent events, so the SDK iterates the events."),y(n)&&e.line("This operation returns binary content."),e.blank()}function R(e,n){let t=new c;if(n.frontmatter&&(t.line("---"),t.line(`title: ${n.title}`),t.line("---"),t.blank()),t.line(`# ${n.title}`),t.blank(),t.line(`Generated reference for the ${n.language.label} SDK, produced from the API description by \`redocly generate-client\`.`),t.line("Re-run generation to update it \u2014 this file is not hand-edited."),t.blank(),t.line(n.language.requires),t.blank(),t.line("## Authentication"),t.blank(),e.securitySchemes.length===0)t.line("The description declares no security schemes.");else{t.line("The description declares these schemes, which you pass to the client:"),t.blank(),t.line("| Scheme | Kind | Sent as |"),t.line("| ------ | ---- | ------- |");for(let r of e.securitySchemes){let s=r.kind==="bearer"?"`Authorization: Bearer <token>`":r.kind==="basic"?"`Authorization: Basic <base64>`":r.kind==="apiKeyHeader"?`the \`${r.headerName}\` header`:r.kind==="apiKeyQuery"?`the \`${r.paramName}\` query parameter`:`the \`${r.cookieName}\` cookie`;t.line(`| \`${r.key}\` | ${r.kind} | ${s} |`)}}t.blank();let o=e.services.flatMap(r=>r.operations),i=[...new Set(o.map(r=>r.tags[0]))];for(let r of i){t.line(r===void 0?"## Operations":`## ${r}`),t.blank();for(let s of o.filter(l=>l.tags[0]===r))C(t,s,n)}return t.toString().replace(/\n{3,}/g,`
9
-
10
- `).trimEnd()+`
11
- `}function h(e){return e.successResponses.find(n=>n.contentType.toLowerCase().includes("json"))?.schema}function S(e){return e.successResponses.find(n=>n.contentType.toLowerCase().includes("text/event-stream"))}function b(e){return e.requestBody?.contentType.toLowerCase().includes("multipart")??!1}function k(e){let n=new Set(e.variables.map(s=>s.name)),t=[],o="",i=e.url,r=/\{([^{}]+)\}/;for(let s=r.exec(i);s!==null;s=r.exec(i))o+=i.slice(0,s.index),n.has(s[1])?(o!==""&&t.push({kind:"literal",value:o}),o="",t.push({kind:"variable",name:s[1]})):o+=s[0],i=i.slice(s.index+s[0].length);return o+=i,(o!==""||t.length===0)&&t.push({kind:"literal",value:o}),t}function P(e,n){return e.security.map(t=>t.flatMap(o=>{let i=n.securitySchemes.find(r=>r.key===o);return i===void 0?[]:i.kind==="bearer"||i.kind==="basic"?[{scheme:o,kind:i.kind}]:i.kind==="apiKeyHeader"?[{scheme:o,kind:"apiKey",name:i.headerName,in:"header"}]:i.kind==="apiKeyQuery"?[{scheme:o,kind:"apiKey",name:i.paramName,in:"query"}]:[{scheme:o,kind:"apiKey",name:i.cookieName,in:"cookie"}]})).filter(t=>t.length>0)}function M(e,n,t){if(e===void 0||n===void 0)return;let o=u(e,n,t);return o?.kind==="array"?o.items:void 0}var Z=["Printer","casing","identifierFor","uniqueIdentifiers","RESERVED_WORDS","flattenAllOf","deref","discriminatorCases","jsonSuccessSchema","sseResponse","isMultipartBody","serverUrlParts","securityRequirements","paginationItemSchema","isNullable","unwrapNullable","enumValues","docText","headerCoerceType","schemaAtPointer","paginationRuleFor","renderReferencePage","NotSupportedError"];function O(e){return e}function v(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join("-")}function q(e){return e.replace(/[^A-Za-z0-9]+/g,"_").replace(/([a-z0-9])([A-Z])/g,"$1_$2").toUpperCase()}function w(e,n){let t={...e};for(let[o,i]of Object.entries(n))i!==void 0&&(t[o]=i);return t}function pe(e){return e}async function fe(e){return(await import("./OIVSGFXK.js")).generateClient(e)}export{m as a,R as b,h as c,S as d,b as e,k as f,P as g,M as h,Z as i,O as j,v as k,q as l,w as m,pe as n,fe as o};
@@ -1,7 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a,b,c,d,e,f}from"./ECZA233J.js";import"./SQVG3CEM.js";import"./UKSQ7B5H.js";import"./TVJE32GA.js";import"./LWB43R4X.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./HJYFWIVE.js";import"./RFWIIJFG.js";export{f as pythonDocs,d as pythonGenerator,c as pythonOptions,e as pythonSample,a as pythonType,b as renderPythonModels};
@@ -1,30 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as T}from"./LWB43R4X.js";import{a as x,e as M,f as j,i as H,j as O,k as f,l as v}from"./NB54XRRU.js";import{n as N}from"./HJYFWIVE.js";function w(e){return e.contentType==="multipart/form-data"&&e.schema.kind==="object"}var V=" ";function K(e,s=[]){let t=N(e,{schemas:s});return t==="integer"?"number":t}function re(e,s=[]){let t=C(e,s);if(t.length!==0)return t.map(n=>({name:n.name,key:n.key,type:n.type}))}function q(e,s=[],t=""){let n=t+V,r=C(e,s).map(o=>`${n}${o.key}${o.required===!0?"":"?"}: ${o.type};`);return r.length===0?"{}":`{
8
- ${r.join(`
9
- `)}
10
- ${t}}`}function C(e,s){let t=new Set;return(e??[]).map(n=>({...n,key:j(v(n.name),t),type:K(n.schema,s)}))}var E=" ";function h(e,s,t){let n=O(e,s);return n===void 0?[]:[`${t}/**`,...H(n).split(`
11
- `).map(r=>`${t} * ${r}`.replace(/ +$/,"")),`${t} */`]}function D(e){return typeof e=="string"?JSON.stringify(e):String(e)}function W(e,s,t){switch(e){case"string":return s?.format==="binary"?"Blob":t==="Date"&&(s?.format==="date-time"||s?.format==="date")?"Date":"string";case"number":case"integer":return"number";case"boolean":return"boolean"}}function k(e){return e.kind==="union"||e.kind==="intersection"||e.kind==="enum"&&e.values.length>1}function u(e,s="string",t=""){switch(e.kind){case"scalar":return W(e.scalar,e.metadata,s);case"ref":return e.name;case"literal":return D(e.value);case"enum":return e.values.map(D).join(" | ");case"null":return"null";case"unknown":return"unknown";case"array":{let n=u(e.items,s,t);return k(e.items)?`(${n})[]`:`${n}[]`}case"record":return`Record<string, ${u(e.value,s,t)}>`;case"object":{if(e.properties.length===0)return"{}";let n=t+E;return`{
12
- ${e.properties.flatMap(o=>F(o,s,n)).join(`
13
- `)}
14
- ${t}}`}case"union":return e.members.map(n=>{let r=u(n,s,t);return k(n)?`(${r})`:r}).join(" | ");case"intersection":return e.members.map(n=>{let r=u(n,s,t);return k(n)?`(${r})`:r}).join(" & ");case"omit":return`Omit<${e.base}, ${e.keys.map(n=>JSON.stringify(n)).join(" | ")}>`}}function F(e,s,t){let n=M(e.name),r=e.readOnly?"readonly ":"",o=e.required?"":"?",a=u(e.schema,s,t);return[...h(e.description,e.schema.metadata,t),`${t}${r}${n}${o}: ${a};`]}function U(e){let s=e.schema;return s.kind!=="enum"||s.scalar!=="string"?[]:s.values.every(t=>typeof t=="string"&&x(t))?[`export const ${e.name} = {`,...s.values.map((t,n)=>`${E}${t}: ${JSON.stringify(t)}${n===s.values.length-1?"":","}`),"} as const;"]:[]}function ae(e,s="string"){let t=[];for(let n of e){let r=[...h(n.schema.description??n.description,n.schema.metadata,""),`export type ${n.name} = ${u(n.schema,s)};`];t.push(r.join(`
15
- `));let o=U(n);o.length>0&&t.push(o.join(`
16
- `))}return t.join(`
17
-
18
- `)}function g(e){let s=new Map(e.pathParams.map(n=>[n.name,n])),t=[];for(let n of e.path.matchAll(/\{([^{}]+)\}/g)){let r=s.get(n[1]);r!==void 0&&t.push(r)}return t}function A(e){let s=g(e),t=e.queryParams.length>0,n=!!e.requestBody,r=e.headerParams.length>0,o=e.cookieParams.length>0;return{hasQuery:t,hasBody:n,hasHeaders:r,hasCookies:o,hasInputs:s.length>0||t||n||r||o,varsRequired:s.length>0||e.queryParams.some(a=>a.required)||(e.requestBody?.required??!1)||e.headerParams.some(a=>a.required)||e.cookieParams.some(a=>a.required),variablesTypeName:`${f(e.name)}Variables`}}var y=" ";function S(e,s,t=""){if(w(e))return u(e.schema,s,t);switch(e.contentType){case"multipart/form-data":return"FormData";case"application/x-www-form-urlencoded":return"URLSearchParams";case"application/octet-stream":return"Blob | ArrayBuffer";default:return u(e.schema,s,t)}}function p(e,s,t=""){let n=t+y,r=e.flatMap(o=>[...h(o.description,o.schema.metadata,n),`${n}${M(o.name)}${o.required?"":"?"}: ${u(o.schema,s,n)};`]);return r.length===0?"{}":`{
19
- ${r.join(`
20
- `)}
21
- ${t}}`}function I(e,s,t=""){if(e.length===0)return{type:"void",kind:"void"};let n=e.find(i=>i.contentType.toLowerCase().includes("json"));if(n)return{type:u(n.schema,s,t),kind:"json"};let r=[],o=new Set,a=!1,d=!1;for(let i of e){let c;i.contentType.startsWith("image/")||i.contentType==="application/octet-stream"?(c="Blob",a=!0):i.contentType.startsWith("text/")?(c="string",d=!0):c=u(i.schema,s,t),!o.has(c)&&(o.add(c),r.push(c))}return{type:r.join(" | "),kind:a?"blob":d?"text":"json"}}function J(e,s,t=""){let n=new Set,r=[];for(let o of e){let a=u(o.schema,s,t);n.has(a)||(n.add(a),r.push(a))}return r}function z(e,s,t=""){let n=e.sse?.eventSchema;return n?u(n,s,t):"string"}function $(e,s,t,n,r,o){let a=r.has(s)?t():s;return`${o}${e}${n?"":"?"}: ${a};`}function G(e,s){let t=new Set,n=e;for(;n.kind==="ref";){let{name:r}=n;if(t.has(r))return;t.add(r);let o=s?.find(a=>a.name===r);if(o===void 0)return;n=o.schema}return n}function L(e,s){let t=G(e,s);if(t?.kind==="object")return t.properties.map(r=>r.name);if(t?.kind!=="intersection")return;let n=new Set;for(let r of t.members){let o=L(r,s);if(o===void 0)return;for(let a of o)n.add(a)}return[...n]}function X(e,s){let t=[...g(e),...e.queryParams,...e.headerParams,...e.cookieParams],n=(e.requestBody?.required??!1)&&e.requestBody!==void 0?L(e.requestBody.schema,s):void 0,r=n!==void 0,o=new Map;for(let d of t)o.set(d.name,(o.get(d.name)??0)+1);e.requestBody&&!r&&o.set("body",(o.get("body")??0)+1);for(let d of n??[])o.set(d,(o.get(d)??0)+1);let a=[...o].filter(([,d])=>d>1).map(([d])=>d);return a.length>0?{collisions:a}:{mergeBody:r}}function Y(e,s,t){return e.flatMap(n=>[...h(n.description,n.schema.metadata,t),`${t}${M(n.name)}${n.required?"":"?"}: ${u(n.schema,s.dateType,t)};`])}function Q(e,s,t,n=""){let{dateType:r,schemaNames:o}=t,a=n+y,d=t.argsStyle==="flat"?X(e,t.schemas):void 0;if(d!==void 0&&"mergeBody"in d)return Z(e,s,t,d.mergeBody,n);let i=[],c=g(e);return c.length>0&&i.push($("path",`${s}Path`,()=>p(c,r,a),!0,o,a)),e.queryParams.length>0&&i.push($("query",`${s}Query`,()=>p(e.queryParams,r,a),e.queryParams.some(m=>m.required),o,a)),e.requestBody&&i.push($("body",`${s}Body`,()=>S(e.requestBody,r,a),e.requestBody.required,o,a)),e.headerParams.length>0&&i.push($("headers",`${s}Headers`,()=>p(e.headerParams,r,a),e.headerParams.some(m=>m.required),o,a)),e.cookieParams.length>0&&i.push($("cookies",`${s}Cookies`,()=>p(e.cookieParams,r,a),e.cookieParams.some(m=>m.required),o,a)),i.length===0?"{}":`{
22
- ${i.join(`
23
- `)}
24
- ${n}}`}function Z(e,s,t,n,r){let o=r+y,a=Y([...g(e),...e.queryParams,...e.headerParams,...e.cookieParams],t,o);e.requestBody&&!n&&a.push($("body",`${s}Body`,()=>S(e.requestBody,t.dateType,o),e.requestBody.required,t.schemaNames,o));let d=t.schemaNames.has(`${s}Body`)?S(e.requestBody,t.dateType,r):`${s}Body`,i=a.length===0?"{}":`{
25
- ${a.join(`
26
- `)}
27
- ${r}}`;return n?a.length===0?d:`${i} & ${d}`:i}function B(e,s,t){let n=`${f(e.name)}Result`;return s.schemaNames.has(n)?I(e.successResponses,s.dateType,t).type:n}function _(e,s,t){let n=J(e.errorResponses,s.dateType,t);if(n.length===0)return"unknown";let r=`${f(e.name)}Error`;return s.schemaNames.has(r)?n.join(" | "):r}function he(e,s,t){let n=T(e.services);if(n.length===0)return"";let r=n.flatMap(o=>{let a=s.get(o.name),d=f(o.name),i=y+y,c=Q(o,d,t,i),m=o.sse!==void 0,P=m?z(o,t.dateType,i):t.errorMode==="result"?`Result<${B(o,t,i)}, ${_(o,t,i)}>`:B(o,t,i),l=[`${i}args: ${c};`,`${i}result: ${P};`];t.errorMode==="result"&&!m&&l.push(`${i}mode: "result";`);let b=o.successResponseHeaders;b&&b.length>0&&l.push(`${i}headers: ${q(b,t.schemas,i)};`);let R=t.pagination?.get(o.name);return R&&(l.push(`${i}item: ${u(R.itemSchema,t.dateType,i)};`),t.errorMode==="result"&&l.push(`${i}page: ${B(o,t,i)};`)),m&&l.push(`${i}kind: "sse";`),[`${y}${a}: {`,...l,`${y}};`]});return[...h("Per-operation `args`/`result` shapes (plus `kind: 'sse'` for event streams) \u2014 the\ntype-level companion of `OPERATIONS` that gives `createClient<Ops>` its typed methods.",void 0,""),"export type Ops = {",...r,"};"].join(`
28
- `)}function ge(e,s){let{dateType:t,schemaNames:n}=s,r=f(e.name),o=e.sse!==void 0,{hasInputs:a}=A(e),d=[];if(!o){let m=`${r}Result`;if(n.has(m)||d.push(`export type ${m} = ${I(e.successResponses,t).type};`),s.errorMode==="result"){let P=J(e.errorResponses,t),l=`${r}Error`;P.length>0&&!n.has(l)&&d.push(`export type ${l} = ${P.join(" | ")};`)}}let i=g(e);i.length>0&&!n.has(`${r}Path`)&&d.push(`export type ${r}Path = ${p(i,t)};`),e.queryParams.length>0&&!n.has(`${r}Query`)&&d.push(`export type ${r}Query = ${p(e.queryParams,t)};`),e.requestBody&&!n.has(`${r}Body`)&&d.push(`export type ${r}Body = ${S(e.requestBody,t)};`),e.headerParams.length>0&&!n.has(`${r}Headers`)&&d.push(`export type ${r}Headers = ${p(e.headerParams,t)};`);let c=e.successResponseHeaders;return c&&c.length>0&&!n.has(`${r}ResponseHeaders`)&&d.push(`export type ${r}ResponseHeaders = ${q(c,s.schemas)};`),e.cookieParams.length>0&&!n.has(`${r}Cookies`)&&d.push(`export type ${r}Cookies = ${p(e.cookieParams,t)};`),a&&!n.has(`${r}Variables`)&&d.push(`export type ${r}Variables = ${Q(e,r,s)};`),d.join(`
29
-
30
- `)}function $e(e,s){let t=new Set,n=r=>{switch(r.kind){case"ref":t.add(r.name);return;case"omit":t.add(r.base);return;case"array":n(r.items);return;case"record":n(r.value);return;case"object":for(let o of r.properties)n(o.schema);return;case"union":case"intersection":for(let o of r.members)n(o);return;default:return}};for(let r of T(e.services)){for(let a of[...r.pathParams,...r.queryParams,...r.headerParams,...r.cookieParams])n(a.schema);r.requestBody&&n(r.requestBody.schema);for(let a of r.successResponses)n(a.schema),a.itemSchema&&n(a.itemSchema);if(s.errorMode==="result")for(let a of r.errorResponses)n(a.schema);let o=s.pagination?.get(r.name);o&&n(o.itemSchema)}return[...t].filter(r=>s.schemaNames.has(r)).sort()}export{A as a,w as b,re as c,h as d,ae as e,I as f,X as g,he as h,ge as i,$e as j};
@@ -1,7 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a,b,c,d,e}from"./Y4BUDNR4.js";import"./REFX2EKS.js";import"./UKSQ7B5H.js";import"./TVJE32GA.js";import"./LWB43R4X.js";import"./PFYPTG4G.js";import"./OZMIIHFH.js";import"./NEWT5A6S.js";import"./HJYFWIVE.js";import"./RFWIIJFG.js";export{e as goDocs,c as goGenerator,d as goSample,a as goType,b as renderGoModels};
@@ -1,14 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as S,b as f}from"./REFX2EKS.js";import{a as N}from"./UKSQ7B5H.js";import{b as E,c as U,d as j,e as K,f as J,g as z,h as Q}from"./TVJE32GA.js";import{a as M}from"./PFYPTG4G.js";import{b as O,c as H,d as w,e as B,g as F,h as G,i as T,j as W,k as _,n as A}from"./HJYFWIVE.js";var c=new S,y=H.go;function V(e){if(e===void 0)return"client";if(!/^[a-z_][a-z0-9_]*$/.test(e)||y.has(e))throw new M(`goPackage "${e}" is not a valid Go package name: use lowercase letters, digits, and underscores, don't start with a digit, and avoid Go keywords.`);return e}function R(e){let t=new Set,n=[];for(let r of e.services)for(let o of r.operations){let a=f(o.name),s=2;for(;t.has(a);)a=`${f(o.name)}${s++}`;t.add(a),n.push({op:o,ident:a})}return n}function oe(e){return J(e).map(n=>n.kind==="literal"?c.string(n.value):w(n.name,{style:"camel",reserved:y})).join(" + ")}function X(e,t){let n=t.servers??[];if(n.length===0)return;let r=new Set;n.forEach((o,a)=>{let s=`${f(o.description??`server${a+1}`)}URL`;r.has(s)&&(s=`${s}${a+1}`),r.add(s);let i=o.variables.map(l=>`${w(l.name,{style:"camel",reserved:y})} string`),u=o.variables.map(l=>`${w(l.name,{style:"camel",reserved:y})} default: ${c.string(l.default)}`).join(", ");e.line(`// ${s} returns the ${c.string(o.description??o.url)} base URL${u===""?".":` (${u}).`}`),e.block(`func ${s}(${i.join(", ")}) string {`,()=>{e.line(`return ${oe(o)}`)},"}"),e.blank()})}function Y(e,t){let n=z(e,t).map(r=>r.map(o=>o.kind==="apiKey"?`{Scheme: ${c.string(o.scheme)}, Kind: "apiKey", Name: ${c.string(o.name)}, In: ${c.string(o.in)}}`:`{Scheme: ${c.string(o.scheme)}, Kind: ${c.string(o.kind)}}`));if(n.length!==0)return`[][]SecuritySpec{${n.map(r=>`{${r.join(", ")}}`).join(", ")}}`}function Z(e){return`&PaginationSpec{${[`Style: ${c.string(e.style)}`,...e.param!==void 0?[`Param: ${c.string(e.param)}`]:[],...e.nextCursor!==void 0?[`NextCursor: ${c.string(e.nextCursor)}`]:[],...e.hasMore!==void 0?[`HasMore: ${c.string(e.hasMore)}`]:[],...e.limitParam!==void 0?[`LimitParam: ${c.string(e.limitParam)}`]:[],...e.items!==void 0?[`Items: ${c.string(e.items)}`]:[]].join(", ")}}`}function g(e,t="string"){if(T(e)){let n=g(W(e),t);return n.startsWith("*")||n==="any"?n:`*${n}`}switch(e.kind){case"scalar":if(t==="Date"&&e.scalar==="string"){if(e.metadata?.format==="date-time")return"time.Time";if(e.metadata?.format==="date")return"Date"}return{string:"string",integer:"int64",number:"float64",boolean:"bool"}[e.scalar];case"array":return`[]${g(e.items,t)}`;case"record":return`map[string]${g(e.value,t)}`;case"ref":return f(e.name);case"literal":return typeof e.value=="string"?"string":typeof e.value=="boolean"?"bool":"float64";case"enum":return{string:"string",integer:"int64",number:"float64",boolean:"bool"}[e.scalar];case"omit":return f(e.base);case"union":case"null":case"object":case"intersection":case"unknown":return"any"}}function ae(e,t,n,r,o){e.doc(f(t),o),e.block(`type ${f(t)} struct {`,()=>{for(let a of n){let s=f(a.name),i=g(a.schema,r),u=`\`json:"${a.name}"\``;a.required||(!i.startsWith("*")&&!i.startsWith("[]")&&!i.startsWith("map[")&&i!=="any"&&(i=`*${i}`),u=`\`json:"${a.name},omitempty"\``),e.line(`${s} ${i} ${u}`)}},"}"),e.blank()}function D(e,t="string"){let n=new S;n.line("package client"),n.blank(),e.schemas.some(({schema:a})=>G(a,e)!==void 0)&&(n.line('import "encoding/json"'),n.blank());let o=se(e,t);return t==="Date"&&o.includes("time.Time")&&(n.line('import "time"'),n.blank()),n.line(o),n.toString()}function se(e,t){let n=new S;for(let{name:r,schema:o}of e.schemas){let a=_(o);if(a!==void 0){let i=a.scalar==="string"?"string":"int64";n.doc(f(r),o.description),n.line(`type ${f(r)} ${i}`),n.blank(),n.block("const (",()=>{let u=new Set;a.values.forEach(l=>{let d=O.pascal(String(l))||"Value",m="";for(let k=2;u.has(d+m);k++)m=String(k);u.add(d+m);let p=f(r)+d+m;n.line(`${p} ${f(r)} = ${c.literal(l)}`)})},")"),n.blank();continue}if(o.kind==="object"||o.kind==="intersection"){let i=F(o,e);if(i!==void 0){ae(n,r,i.properties,t,i.description??o.description);continue}}let s=G(o,e);if(s!==void 0){let i=f(r),u=s.cases.map(l=>`${l.value} -> ${f(l.schemaName)}`).join(", ");n.line(`// ${i} is a discriminated union ("${s.property}"): ${u}.`),n.line(`type ${i} = any`),n.blank(),n.line(`// Unmarshal${i} decodes into the member selected by "${s.property}".`),n.block(`func Unmarshal${i}(data []byte) (${i}, error) {`,()=>{n.block("var probe struct {",()=>{n.line(`Discriminant string \`json:"${s.property}"\``)},"}"),n.block("if err := json.Unmarshal(data, &probe); err != nil {",()=>{n.line("return nil, err")},"}"),n.line("switch probe.Discriminant {");for(let l of s.cases)n.block(`case ${c.string(l.value)}:`,()=>{n.line(`var value ${f(l.schemaName)}`),n.line("err := json.Unmarshal(data, &value)"),n.line("return value, err")});n.line("}"),n.line("var fallback any"),n.line("err := json.Unmarshal(data, &fallback)"),n.line("return fallback, err")},"}"),n.blank();continue}n.doc(f(r),o.description),n.line(`type ${f(r)} = ${g(o,t)}`),n.blank()}return n.toString()}function q(e,t){if(t==="string")return e;let n=e.startsWith("*")?`(${e})`:e;return t==="time.Time"?`${n}.Format(time.RFC3339)`:t==="Date"?`${n}.Format("2006-01-02")`:t==="int64"?`strconv.FormatInt(${e}, 10)`:t==="float64"?`strconv.FormatFloat(${e}, 'f', -1, 64)`:t==="bool"?`strconv.FormatBool(${e})`:`fmt.Sprint(${e})`}var ie=["c","ctx","body","params","out","op"];function I(e,t){let n=B(e.pathParams.map(r=>r.name),{style:"camel",reserved:y,taken:ie});return e.pathParams.map((r,o)=>({param:r,go:n[o],type:g(r.schema,t)}))}function le(e,t){let n=new Set;return(e.successResponseHeaders??[]).map(r=>{let o=f(r.name),a=o,s=2;for(;n.has(a);)a=`${o}${s++}`;n.add(a);let i=A(r.schema,t),u={integer:{goType:"*int64",helper:"headerInt64"},number:{goType:"*float64",helper:"headerFloat64"},boolean:{goType:"*bool",helper:"headerBool"},string:{goType:"*string",helper:"headerString"}}[i];return{field:a,name:r.name,...u}})}function L(e,t,n,r,o,a=!1){let s=I(t,r),i=t.queryParams.length>0,u=U(t),l=u===void 0?void 0:g(u,r),d=a?le(t,o):[];a&&(e.line(`// ${n}Headers carries the declared response headers of ${n}WithHeaders (nil when absent or unparsable).`),e.block(`type ${n}Headers struct {`,()=>{for(let $ of d)e.line(`${$.field} ${$.goType}`)},"}"),e.blank());let m=["ctx context.Context",...s.map(({go:$,type:v})=>`${$} ${v}`),...t.requestBody?[`body ${g(t.requestBody.schema,r)}`]:[],...i?[`params *${n}Params`]:[]],p=j(t),k=a?l===void 0?`(${n}Headers, error)`:`(${l}, ${n}Headers, error)`:p!==void 0?"func(yield func(ServerSentEvent, error) bool)":l===void 0?"error":`(${l}, error)`,b=$=>a?l===void 0?`return headers, ${$}`:`return out, headers, ${$}`:l===void 0?`return ${$}`:`return out, ${$}`,P=a?`${n}WithHeaders`:n;e.doc(P,a?`Like ${n}, also returning the declared response headers.`:t.summary),e.block(`func (c *Client) ${P}(${m.join(", ")}) ${k} {`,()=>{p===void 0&&l!==void 0&&e.line(`var out ${l}`),a&&e.line(`var headers ${n}Headers`),e.line(`op := operations[${c.string(t.specName??t.name)}]`),e.line("authHeaders, query := resolveAuth(op.Security, c.config.Auth)"),i&&e.block("if params != nil {",()=>{for(let h of t.queryParams){let x=f(h.name);e.block(`if params.${x} != nil {`,()=>{if(h.schema.kind==="array"){let C=g(h.schema.items,r);e.block(`for _, item := range *params.${x} {`,()=>{e.line(`query.Add(${c.string(h.name)}, ${q("item",C)})`)},"}")}else e.line(`query.Set(${c.string(h.name)}, ${q(`*params.${x}`,g(h.schema,r))})`)},"}")}},"}");let $=s.map(({param:h,go:x,type:C})=>`${c.string(h.name)}: ${q(x,C)}`).join(", ");if(e.line(`requestURL := buildURL(c.config.ServerURL, op.Path, map[string]string{${$}})`),p!==void 0){e.block("open := func(extraHeaders map[string]string) (*http.Response, error) {",()=>{e.line("merged := map[string]string{}"),e.block("for key, value := range authHeaders {",()=>{e.line("merged[key] = value")},"}"),e.block("for key, value := range extraHeaders {",()=>{e.line("merged[key] = value")},"}"),e.line("return send(ctx, &c.config, requestSpec{OperationID: op.ID, Method: op.Method, URL: requestURL, Headers: merged, Query: query})")},"}"),e.line(`return iterSSE(open, ${p.schema!==void 0&&p.schema.kind!=="unknown"})`);return}let v=["OperationID: op.ID","Method: op.Method","URL: requestURL","Headers: authHeaders","Query: query"];if(t.requestBody&&K(t)?(e.line("contentType, reader, err := toMultipart(body)"),e.block("if err != nil {",()=>{e.line(b("err"))},"}"),v.push("Body: reader"),v.push("ContentType: contentType")):t.requestBody&&(e.line("payload, err := json.Marshal(body)"),e.block("if err != nil {",()=>{e.line(b("err"))},"}"),v.push("Body: bytes.NewReader(payload)"),v.push(`ContentType: ${c.string(t.requestBody.contentType)}`)),e.line(`resp, err := send(ctx, &c.config, requestSpec{${v.join(", ")}})`),e.block("if err != nil {",()=>{e.line(b("err"))},"}"),e.block("if resp.StatusCode >= 400 {",()=>{e.line(b("apiErrorFrom(resp, requestURL)"))},"}"),a){e.block(`if err := decodeJSON(resp, ${l===void 0?"nil":"&out"}); err != nil {`,()=>{e.line(b("err"))},"}");for(let h of d)e.line(`headers.${h.field} = ${h.helper}(resp.Header, ${c.string(h.name)})`);e.line(l===void 0?"return headers, nil":"return out, headers, nil")}else l===void 0?e.line("return decodeJSON(resp, nil)"):(e.block("if err := decodeJSON(resp, &out); err != nil {",()=>{e.line("return out, err")},"}"),e.line("return out, nil"))},"}"),e.blank()}function ee(e,t,n,r,o,a){let s=I(t,r),i=t.queryParams.length>0,u=["ctx context.Context",...s.map(({go:d,type:m})=>`${d} ${m}`),...i?[`params *${n}Params`]:[]].join(", "),l=()=>{e.line(`op := operations[${c.string(t.specName??t.name)}]`),e.line("base := url.Values{}"),i&&e.block("if params != nil {",()=>{for(let d of t.queryParams){let m=f(d.name);e.block(`if params.${m} != nil {`,()=>{e.line(`base.Set(${c.string(d.name)}, ${q(`*params.${m}`,g(d.schema,r))})`)},"}")}},"}"),e.block("call := func(pageParams url.Values) (any, *http.Response, error) {",()=>{e.line("authHeaders, query := resolveAuth(op.Security, c.config.Auth)"),e.block("for key, values := range pageParams {",()=>{e.block("for _, value := range values {",()=>{e.line("query.Set(key, value)")},"}")},"}");let d=s.map(({param:m,go:p,type:k})=>`${c.string(m.name)}: ${q(p,k)}`).join(", ");e.line(`requestURL := buildURL(c.config.ServerURL, op.Path, map[string]string{${d}})`),e.line("resp, err := send(ctx, &c.config, requestSpec{OperationID: op.ID, Method: op.Method, URL: requestURL, Headers: authHeaders, Query: query})"),e.block("if err != nil {",()=>{e.line("return nil, nil, err")},"}"),e.block("if resp.StatusCode >= 400 {",()=>{e.line("return nil, resp, apiErrorFrom(resp, requestURL)")},"}"),e.line("var raw any"),e.block("if err := decodeJSON(resp, &raw); err != nil {",()=>{e.line("return nil, resp, err")},"}"),e.line("return raw, resp, nil")},"}"),e.line("pages := iterPages(call, *op.Pagination, base)")};e.line(`// ${n}Pages iterates ${n} response pages; use with \`for page, err := range\`.`),e.block(`func (c *Client) ${n}Pages(${u}) func(yield func(${o}, error) bool) {`,()=>{l(),e.block(`return func(yield func(${o}, error) bool) {`,()=>{e.block("pages(func(raw any, err error) bool {",()=>{e.line(`var page ${o}`),e.block("if err == nil {",()=>{e.line("err = reencode(raw, &page)")},"}"),e.line("return yield(page, err)")},"})")},"}")},"}"),e.blank(),e.line(`// ${n}Items iterates the items of every ${n} page.`),e.block(`func (c *Client) ${n}Items(${u}) func(yield func(${a}, error) bool) {`,()=>{l(),e.block(`return func(yield func(${a}, error) bool) {`,()=>{e.block("pages(func(raw any, err error) bool {",()=>{e.block("if err != nil {",()=>{e.line(`var zero ${a}`),e.line("return yield(zero, err)")},"}"),e.line("pageItems, _ := resolvePointer(raw, op.Pagination.Items).([]any)"),e.block("for _, item := range pageItems {",()=>{e.line(`var typed ${a}`),e.block("if err := reencode(item, &typed); err != nil {",()=>{e.line("return yield(typed, err)")},"}"),e.block("if !yield(typed, nil) {",()=>{e.line("return false")},"}")},"}"),e.line("return true")},"})")},"}")},"}"),e.blank()}function ne(e){let t=e.split(`
8
- `),n=[],r=!1;for(let o of t)if(!o.startsWith("package ")){if(o.startsWith("import (")){r=!0;continue}if(r){o.startsWith(")")&&(r=!1);continue}o.startsWith("import ")||n.push(o)}return n.join(`
9
- `).trim()}var te=["bytes","context","encoding/base64","encoding/json","errors","fmt","io","math/rand","mime/multipart","net/http","net/url","strconv","strings","time"];function re(e,t,n,r,o,a){e.line(ne(D(t,r))),e.blank(),X(e,t),a&&(e.line("// \u2500\u2500\u2500 Embedded runtime (@redocly/client-generator go runtime) \u2500\u2500\u2500"),e.line(ne(N)),e.blank()),e.block("type operationMeta struct {",()=>{e.line("ID string"),e.line("Method string"),e.line("Path string"),e.line("Security [][]SecuritySpec"),e.line("Pagination *PaginationSpec")},"}"),e.blank(),e.block("var operations = map[string]operationMeta{",()=>{for(let{op:s,ident:i}of R(t)){let u=s.specName??s.name,l=Y(s,t),d=o.get(i),m=[`ID: ${c.string(u)}`,`Method: ${c.string(s.method.toUpperCase())}`,`Path: ${c.string(s.path)}`,...l!==void 0?[`Security: ${l}`]:[],...d!==void 0?[`Pagination: ${Z(d)}`]:[]];e.line(`${c.string(u)}: {${m.join(", ")}},`)}},"}"),e.blank();for(let{op:s,ident:i}of R(t))s.queryParams.length!==0&&(e.block(`type ${i}Params struct {`,()=>{for(let u of s.queryParams){let l=g(u.schema,r);e.line(`${f(u.name)} ${l.startsWith("*")?l:`*${l}`}`)}},"}"),e.blank());e.doc("Client",`Client for ${t.title} (${t.version}).`),e.block("type Client struct {",()=>{e.line("config Config")},"}"),e.blank(),e.block("func New(config Config) *Client {",()=>{e.block('if config.ServerURL == "" {',()=>{e.line(`config.ServerURL = ${c.string(n.serverUrl??t.serverUrl??"")}`)},"}"),e.line("return &Client{config: config}")},"}"),e.blank();for(let{op:s,ident:i}of R(t)){L(e,s,i,r),j(s)===void 0&&(s.successResponseHeaders?.length??0)>0&&L(e,s,i,r,t,!0);let u=o.get(i);if(u===void 0)continue;let l=U(s),d=l===void 0?"any":g(l,r),m=Q(l,u.items,t);ee(e,s,i,r,d,m===void 0?"any":g(m,r))}}var ze=({model:e,output:t,banner:n,emit:r,pagination:o})=>{let a=new S,s=r.dateType??"string",i=V(r.goPackage),u=new Map;for(let{op:b,ident:P}of R(e)){let $=o?.get(b.name)?.spec;$!==void 0&&u.set(P,$)}a.line(`// Code generated by @redocly/client-generator (go) from "${e.title}" ${e.version}. DO NOT EDIT.`),a.line("// Regenerate with `redocly generate-client`. Standard library only \u2014 zero dependencies."),a.line(`package ${i}`),a.blank();let l=r.runtime!=="module",d=l?te:(()=>{let b=new S;re(b,e,r,s,u,!1);let P=b.toString();return te.filter($=>new RegExp(`\\b${$.split("/").pop()}\\.`).test(P))})();a.block("import (",()=>{for(let b of d)a.line(c.string(b))},")"),a.blank(),re(a,e,r,s,u,l);let m={path:t.path.replace(/\.[^.\\/]+$/,".go"),content:a.toString()};if(l)return[m];let p=n.map(b=>`// ${b}`).join(`
10
- `),k=N.replace(/^package .*$/m,`package ${i}`);return[m,{path:m.path.replace(/[^\\/]+$/,"runtime.go"),content:`${p}
11
- ${k.trimEnd()}
12
- `}]};function ce(e,t){let n=t.emit.dateType??"string",r=t.emit.goPackage??"client",o=R(t.model).find(u=>u.op.name===e.name)?.ident??f(e.name),a=["ctx",...e.pathParams.map(u=>`"<${w(u.name,{style:"camel",reserved:y})}>"`),...e.requestBody?[`${g(e.requestBody.schema,n)}{ /* \u2026 */ }`]:[],...e.queryParams.length>0?["nil"]:[]],s=`client.${o}(${a.join(", ")})`,i=j(e)!==void 0?`stream := ${s}`:U(e)===void 0?`err := ${s}`:`result, err := ${s}`;return{lang:"go",label:"Go SDK",source:`client := ${r}.New(${r}.Config{})
13
- ${i}
14
- `}}var Qe=({model:e,output:t,emit:n,pagination:r})=>[{path:t.path.replace(/\.[^.\\/]+$/,".go.md"),content:E(e,{title:`${e.title} Go SDK reference`,frontmatter:n.docsFrontmatter===!0,language:{name:"go",label:"Go",fence:"go",requires:"The SDK needs the standard library only."},sample:o=>ce(o,{model:e,emit:n,outputPath:t.path}),paginated:new Set(r?.keys()??[])})}];export{g as a,D as b,ze as c,ce as d,Qe as e};
@@ -1,11 +0,0 @@
1
- import { createRequire as __createRequire } from 'node:module';
2
- import { fileURLToPath as __fileURLToPath } from 'node:url';
3
- import { dirname as __pathDirname } from 'node:path';
4
- const require = __createRequire(import.meta.url);
5
- var __filename = __fileURLToPath(import.meta.url);
6
- var __dirname = __pathDirname(__filename);
7
- import{a as m}from"./3JJEI7CJ.js";import{a as s}from"./PFYPTG4G.js";import{e as f}from"./RFWIIJFG.js";var e=f(m(),1);if(typeof e.default?.createSourceFile!="function")throw new Error(`Baking a --setup module needs the TypeScript compiler API, but the installed \`typescript\` package${e.default?.version?` (${e.default.version})`:""} does not include it \u2014 TypeScript 7 ships only the native tsc. Install TypeScript 6 for generation (npm i -D typescript@6); your app can still compile the generated client with TypeScript 7.`);var l="@redocly/client-generator";function y(n){let i=e.default.createSourceFile("setup.ts",n,e.default.ScriptTarget.Latest,!0,e.default.ScriptKind.TS),p=[],r,d="defineClientSetup";for(let t of i.statements){if(e.default.isImportDeclaration(t)){let o=t.moduleSpecifier.text;if(o!==l)throw new s(`A --setup file may only import from "${l}"; found "${o}". Setup code may use web globals and the client contract only (keeps the client zero-dependency).`);let a=t.importClause?.namedBindings;if(a&&e.default.isNamedImports(a))for(let c of a.elements)(c.propertyName?.text??c.name.text)==="defineClientSetup"&&(d=c.name.text);continue}if(e.default.isExportAssignment(t)&&!t.isExportEquals){r=g(t.expression,d).getText(i);continue}if(e.default.isExportDeclaration(t)){if(t.moduleSpecifier!==void 0)throw new s(`A --setup file may only import from "${l}"; found "${t.moduleSpecifier.text}". Setup code may use web globals and the client contract only (keeps the client zero-dependency).`);continue}let u=e.default.canHaveModifiers(t)?e.default.getModifiers(t)?.find(o=>o.kind===e.default.SyntaxKind.ExportKeyword):void 0;p.push(u===void 0?t.getText(i):n.slice(u.end,t.getEnd()).trimStart())}if(r===void 0)throw new s("A --setup file must `export default defineClientSetup({ config, middleware })` (or a setup object).");return p.length===0?r:`(() => {
8
- ${p.join(`
9
- `)}
10
- return ${r};
11
- })()`}function g(n,i){return e.default.isCallExpression(n)&&e.default.isIdentifier(n.expression)&&n.expression.text===i&&n.arguments.length===1?n.arguments[0]:n}export{y as bakeSetup};
File without changes