@fern-api/java-dynamic-snippets 0.0.2 → 0.0.4

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 (76) hide show
  1. package/cjs/Config.cjs +1 -0
  2. package/cjs/Config.cjs.map +1 -0
  3. package/cjs/DynamicSnippetsGenerator.cjs +16 -11
  4. package/cjs/DynamicSnippetsGenerator.cjs.map +1 -0
  5. package/cjs/DynamicSnippetsGenerator.d.cts +1 -1
  6. package/cjs/{DynamicSnippetsGeneratorContext-D5kyHx_O.d.cts → DynamicSnippetsGeneratorContext-FbVOZ8Go.d.cts} +9 -7
  7. package/cjs/EndpointSnippetGenerator.cjs +12 -7
  8. package/cjs/EndpointSnippetGenerator.cjs.map +1 -0
  9. package/cjs/EndpointSnippetGenerator.d.cts +4 -1
  10. package/cjs/context/DynamicSnippetsGeneratorContext.cjs +16 -11
  11. package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -0
  12. package/cjs/context/DynamicSnippetsGeneratorContext.d.cts +1 -1
  13. package/cjs/context/DynamicTypeLiteralMapper.cjs +12 -7
  14. package/cjs/context/DynamicTypeLiteralMapper.cjs.map +1 -0
  15. package/cjs/context/DynamicTypeLiteralMapper.d.cts +1 -1
  16. package/cjs/context/DynamicTypeMapper.cjs +12 -7
  17. package/cjs/context/DynamicTypeMapper.cjs.map +1 -0
  18. package/cjs/context/DynamicTypeMapper.d.cts +1 -1
  19. package/cjs/context/FilePropertyMapper.cjs +12 -7
  20. package/cjs/context/FilePropertyMapper.cjs.map +1 -0
  21. package/cjs/context/FilePropertyMapper.d.cts +1 -1
  22. package/cjs/index.cjs +26 -21
  23. package/cjs/index.cjs.map +1 -0
  24. package/cjs/index.d.cts +2 -2
  25. package/esm/Config.js +2 -1
  26. package/esm/Config.js.map +1 -0
  27. package/esm/DynamicSnippetsGenerator.d.ts +1 -1
  28. package/esm/DynamicSnippetsGenerator.js +2 -1
  29. package/esm/DynamicSnippetsGenerator.js.map +1 -0
  30. package/esm/{DynamicSnippetsGeneratorContext-D5kyHx_O.d.ts → DynamicSnippetsGeneratorContext-FbVOZ8Go.d.ts} +9 -7
  31. package/esm/EndpointSnippetGenerator.d.ts +4 -1
  32. package/esm/EndpointSnippetGenerator.js +2 -1
  33. package/esm/EndpointSnippetGenerator.js.map +1 -0
  34. package/esm/chunk-3JSOCWNQ.js +20 -0
  35. package/esm/chunk-3JSOCWNQ.js.map +1 -0
  36. package/esm/chunk-3LOINSB3.js +2 -0
  37. package/esm/chunk-3LOINSB3.js.map +1 -0
  38. package/esm/chunk-6YM2QG7U.js +2 -0
  39. package/esm/chunk-6YM2QG7U.js.map +1 -0
  40. package/esm/{chunk-2AZXIWKY.js → chunk-E6GFFTKW.js} +2 -1
  41. package/esm/chunk-E6GFFTKW.js.map +1 -0
  42. package/esm/chunk-JZ2FDMYI.js +15 -0
  43. package/esm/chunk-JZ2FDMYI.js.map +1 -0
  44. package/esm/{chunk-452HWDL4.js → chunk-JZBCQWQN.js} +2 -1
  45. package/esm/chunk-JZBCQWQN.js.map +1 -0
  46. package/esm/{chunk-7CY27UU7.js → chunk-PUPEW5QI.js} +2 -1
  47. package/esm/chunk-PUPEW5QI.js.map +1 -0
  48. package/esm/chunk-SQKACQJK.js +2 -0
  49. package/esm/chunk-SQKACQJK.js.map +1 -0
  50. package/esm/chunk-WBGWLNLI.js +2 -0
  51. package/esm/chunk-WBGWLNLI.js.map +1 -0
  52. package/esm/chunk-ZYVZJBJN.js +2 -0
  53. package/esm/chunk-ZYVZJBJN.js.map +1 -0
  54. package/esm/context/DynamicSnippetsGeneratorContext.d.ts +1 -1
  55. package/esm/context/DynamicSnippetsGeneratorContext.js +2 -1
  56. package/esm/context/DynamicSnippetsGeneratorContext.js.map +1 -0
  57. package/esm/context/DynamicTypeLiteralMapper.d.ts +1 -1
  58. package/esm/context/DynamicTypeLiteralMapper.js +2 -1
  59. package/esm/context/DynamicTypeLiteralMapper.js.map +1 -0
  60. package/esm/context/DynamicTypeMapper.d.ts +1 -1
  61. package/esm/context/DynamicTypeMapper.js +2 -1
  62. package/esm/context/DynamicTypeMapper.js.map +1 -0
  63. package/esm/context/FilePropertyMapper.d.ts +1 -1
  64. package/esm/context/FilePropertyMapper.js +2 -1
  65. package/esm/context/FilePropertyMapper.js.map +1 -0
  66. package/esm/index.d.ts +2 -2
  67. package/esm/index.js +12 -11
  68. package/esm/index.js.map +1 -0
  69. package/package.json +1 -1
  70. package/esm/chunk-AASPH6YC.js +0 -15
  71. package/esm/chunk-BECJPKDE.js +0 -1
  72. package/esm/chunk-HN67B7VQ.js +0 -1
  73. package/esm/chunk-IBCUQF6Z.js +0 -14
  74. package/esm/chunk-JSEUWNSK.js +0 -1
  75. package/esm/chunk-TTNRR5YY.js +0 -1
  76. package/esm/chunk-WFKWXM7L.js +0 -1
@@ -1,15 +0,0 @@
1
- import{g as P,j as o,k as r,m as a}from"./chunk-2AZXIWKY.js";r();a();function T(i){throw new Error("Unexpected value: "+JSON.stringify(i))}r();a();r();a();function D(i){return Object.keys(i)}var f={};P(f,{Access:()=>B,AstNode:()=>h,Class:()=>N,ClassInstantiation:()=>x,ClassReference:()=>l,CodeBlock:()=>k,Method:()=>b,MethodInvocation:()=>v,Parameter:()=>L,Type:()=>C,TypeLiteral:()=>m,Writer:()=>g,classReference:()=>oe,class_:()=>ae,codeblock:()=>re,instantiateClass:()=>le,invokeMethod:()=>ce,method:()=>pe,parameter:()=>ue});r();a();r();a();r();a();var B={Public:"public",Protected:"protected",Private:"private"};r();a();r();a();r();a();var y=class{};r();a();r();a();var w=class extends y{constructor(e){super();o(this,"value");this.value=e}write(e){typeof this.value=="string"?e.write(this.value):this.value(e)}};var F=4,I=class{constructor(){o(this,"buffer","");o(this,"indentLevel",0);o(this,"hasWrittenAnything",!1);o(this,"lastCharacterIsSemicolon",!1);o(this,"lastCharacterIsNewline",!1)}write(n){let e=n.length>0&&n.endsWith(`
2
- `),t=e?n.substring(0,n.length-1):n,s=this.getIndentString(),c=t.replaceAll(`
3
- `,`
4
- ${s}`);this.isAtStartOfLine()&&(c=s+c),e&&(c+=`
5
- `),this.writeInternal(c)}writeNoIndent(n){let e=this.indentLevel;this.indentLevel=0,this.write(n),this.indentLevel=e}writeNode(n){n.write(this)}writeNodeOrString(n){if(typeof n=="string"){this.write(n);return}this.writeNode(n)}writeNodeStatement(n){n.write(this),this.write(";"),this.writeNewLineIfLastLineNot()}writeTextStatement(n){new w(n).write(this),this.write(";"),this.writeNewLineIfLastLineNot()}controlFlow(n,e){new w(n).write(this),this.write(" ("),this.writeNode(e),this.write(") {"),this.writeNewLineIfLastLineNot(),this.indent()}endControlFlow(){this.dedent(),this.writeLine("}")}contiguousControlFlow(n,e){this.dedent(),this.write("} "),new w(n).write(this),this.write(" ("),this.writeNode(e),this.write(") {"),this.writeNewLineIfLastLineNot(),this.indent()}alternativeControlFlow(n){this.dedent(),this.write("} "),new w(n).write(this),this.write(" {"),this.writeNewLineIfLastLineNot(),this.indent()}openBlock(n,e="{",t,s="}"){let c=n.filter(d=>d!==void 0).join(" ");c?this.write(`${c} ${e!=null?e:""}`):this.write(e!=null?e:"");try{this.indent(),t(),this.dedent()}finally{this.write(s!=null?s:"")}}writeLine(n=""){this.write(n),this.writeNewLineIfLastLineNot()}newLine(){this.writeInternal(`
6
- `)}writeSemicolonIfLastCharacterIsNot(){this.lastCharacterIsSemicolon||this.writeInternal(";")}writeNewLineIfLastLineNot(){this.lastCharacterIsNewline||this.writeInternal(`
7
- `)}indent(){this.indentLevel++}dedent(){this.indentLevel--}delimit({nodes:n,delimiter:e,writeFunction:t}){if(n.length>0){let s=n[0];s!=null&&t(s);for(let c=1;c<n.length;c++){this.write(e);let d=n[c];d!=null&&t(d)}}}toString(){return this.buffer}writeInternal(n){return n.length>0&&(this.hasWrittenAnything=!0,this.lastCharacterIsNewline=n.endsWith(`
8
- `),this.lastCharacterIsSemicolon=n.endsWith(";")),this.buffer+=n}isAtStartOfLine(){return this.lastCharacterIsNewline||!this.hasWrittenAnything}getIndentString(){return" ".repeat(this.indentLevel*F)}};r();a();var O=class{},A=class extends O{async format(n){return n}formatSync(n){return n}};r();a();function M(i){return(i==null?void 0:i.name)!=null}r();a();r();a();var g=class extends I{constructor({packageName:e,customConfig:t,formatter:s}){super();o(this,"packageName");o(this,"customConfig");o(this,"formatter");o(this,"imports",new Set);this.packageName=e,this.customConfig=t,this.formatter=s!=null?s:new A}addImport(e){this.imports.add(e)}};var S=class extends g{constructor({packageName:n,customConfig:e,formatter:t}){super({packageName:n,customConfig:e,formatter:t})}async toStringAsync(){let n=this.getContent();if(this.formatter!=null)try{return this.formatter.format(n)}catch(e){throw new Error(`Failed to format Java file: ${e}
9
- ${n}`)}return n}toString(){let n=this.getContent();if(this.formatter!=null)try{return this.formatter.formatSync(n)}catch(e){throw new Error(`Failed to format Java file: ${e}
10
- ${n}`)}return n}getContent(){let n=`package ${this.packageName};
11
-
12
- `,e=this.stringifyImports();return e.length>0?`${n}${e}
13
-
14
- ${this.buffer}`:n+this.buffer}stringifyImports(){return Array.from(this.imports).filter(n=>n!==this.packageName).map(n=>`import ${n};`).sort().join(`
15
- `)}};var h=class extends y{async toStringAsync({packageName:n,customConfig:e,formatter:t}){let s=new S({packageName:n,customConfig:e,formatter:t});return this.write(s),s.toStringAsync()}toString({packageName:n,customConfig:e,formatter:t}){let s=new S({packageName:n,customConfig:e,formatter:t});return this.write(s),s.toString()}};r();a();var N=class extends h{constructor({name:e,access:t}){super();o(this,"name");o(this,"access");o(this,"methods",[]);this.name=e,this.access=t}write(e){if(e.write(`${this.access} class ${this.name}`),this.isEmpty()){e.writeLine(" {}");return}e.writeLine(" {"),e.indent();for(let t of this.methods)e.writeNode(t),e.newLine();e.dedent(),e.write("}")}addMethod(e){this.methods.push(e)}isEmpty(){return this.methods.length===0}};r();a();var l=class extends h{constructor({name:e,packageName:t,fullyQualified:s}){super();o(this,"name");o(this,"packageName");o(this,"fullyQualified");this.name=e,this.packageName=t,this.fullyQualified=s!=null?s:!1}write(e){if(e.addImport(`${this.packageName}.${this.name}`),this.fullyQualified){e.write(`${this.packageName}.${this.name}`);return}e.write(this.name)}};r();a();r();a();r();a();r();a();r();a();var C=class extends h{constructor(e){super();o(this,"internalType");this.internalType=e}write(e){switch(this.internalType.type){case"bigInteger":e.writeNode(J);break;case"boolean":e.write("Boolean");break;case"bytes":e.write("byte[]");break;case"float":e.write("Float");break;case"date":e.write("String");break;case"dateTime":e.writeNode(Y);break;case"double":e.write("Double");break;case"integer":e.write("Integer");break;case"list":{this.writeList({writer:e,list:this.internalType});break}case"long":{e.write("Long");break}case"map":{this.writeMap({writer:e,map:this.internalType});break}case"object":{e.write("Object");break}case"optional":{this.writeOptional({writer:e,optional:this.internalType});break}case"reference":e.writeNode(this.internalType.value);break;case"set":{this.writeSet({writer:e,set:this.internalType});break}case"string":e.write("String");break;case"uuid":e.writeNode(q);break;default:T(this.internalType)}}isOptional(){return this.internalType.type==="optional"}static bigInteger(){return new this({type:"bigInteger"})}static boolean(){return new this({type:"boolean"})}static bytes(){return new this({type:"bytes"})}static date(){return new this({type:"date"})}static dateTime(){return new this({type:"dateTime"})}static double(){return new this({type:"double"})}static float(){return new this({type:"float"})}static integer(){return new this({type:"integer"})}static list(e){return new this({type:"list",value:e})}static long(){return new this({type:"long"})}static map(e,t){return new this({type:"map",keyType:e,valueType:t})}static object(){return new this({type:"object"})}static optional(e){return this.isAlreadyOptional(e)?e:new this({type:"optional",value:e})}static reference(e){return new this({type:"reference",value:e})}static set(e){return new this({type:"set",value:e})}static string(){return new this({type:"string"})}static uuid(){return new this({type:"uuid"})}writeList({writer:e,list:t}){e.writeNode(H),e.write("<"),t.value.write(e),e.write(">")}writeMap({writer:e,map:t}){e.writeNode(V),e.write("<"),t.keyType.write(e),e.write(", "),t.valueType.write(e),e.write(">")}writeOptional({writer:e,optional:t}){e.writeNode(E),e.write("<"),t.value.write(e),e.write(">")}writeSet({writer:e,set:t}){e.writeNode(Z),e.write("<"),t.value.write(e),e.write(">")}static isAlreadyOptional(e){return e.internalType.type==="optional"}},$=new l({name:"Arrays",packageName:"java.util"}),J=new l({name:"BigInteger",packageName:"java.math"}),jt=new l({name:"HashMap",packageName:"java.util"}),H=new l({name:"List",packageName:"java.util"}),V=new l({name:"Map",packageName:"java.util"}),Y=new l({name:"OffsetDateTime",packageName:"java.time"}),E=new l({name:"Optional",packageName:"java.util"}),Z=new l({name:"Set",packageName:"java.util"}),q=new l({name:"UUID",packageName:"java.util"});var m=class i extends h{constructor(e){super();o(this,"internalType");this.internalType=e}write(e){switch(this.internalType.type){case"bigInteger":this.writeBigInteger({writer:e,bigInteger:this.internalType});break;case"boolean":e.write(this.internalType.value.toString());break;case"builder":this.writeBuilder({writer:e,builder:this.internalType});break;case"bytes":e.write(`"${this.internalType.value}".getBytes()`);break;case"class":{this.writeClass({writer:e,class_:this.internalType});break}case"date":e.write(`"${this.internalType.value}"`);break;case"dateTime":this.writeDateTime({writer:e,dateTime:this.internalType});break;case"double":e.write(this.internalType.value.toString());break;case"enum":this.writeEnum({writer:e,enum_:this.internalType});break;case"float":e.write(`${this.internalType.value}f`);break;case"integer":e.write(this.internalType.value.toString());break;case"list":{this.writeList({writer:e,list:this.internalType});break}case"long":{e.write(`${this.internalType.value}L`);break}case"map":{this.writeMap({writer:e,map:this.internalType});break}case"optional":{this.writeOptional({writer:e,optional:this.internalType});break}case"raw":{e.write(this.internalType.value);break}case"reference":e.writeNode(this.internalType.value);break;case"set":{this.writeSet({writer:e,set:this.internalType});break}case"string":e.write(`"${this.escapeString(this.internalType.value)}"`);break;case"unknown":this.writeUnknown({writer:e,value:this.internalType.value});break;case"uuid":this.writeUUID({writer:e,uuid:this.internalType});break;case"nop":break;default:T(this.internalType)}}isOptional(){return this.internalType.type==="optional"}static bigInteger(e){return new this({type:"bigInteger",value:e})}static boolean(e){return new this({type:"boolean",value:e})}static builder({classReference:e,parameters:t}){return new this({type:"builder",classReference:e,parameters:t})}static bytes(e){return new this({type:"bytes",value:e})}static class_({reference:e,parameters:t}){return new this({type:"class",reference:e,parameters:t})}static date(e){return new this({type:"date",value:e})}static dateTime(e){return new this({type:"dateTime",value:e})}static double(e){return new this({type:"double",value:e})}static enum_({classReference:e,value:t}){return new this({type:"enum",classReference:e,value:t})}static float(e){return new this({type:"float",value:e})}static integer(e){return new this({type:"integer",value:e})}static list({valueType:e,values:t}){return new this({type:"list",valueType:e,values:t})}static long(e){return new this({type:"long",value:e})}static map({keyType:e,valueType:t,entries:s}){return new this({type:"map",keyType:e,valueType:t,entries:s})}static optional({value:e,useOf:t}){return this.isAlreadyOptional(e)?e:new this({type:"optional",value:e,useOf:t})}static raw(e){return new this({type:"raw",value:e})}static reference(e){return new this({type:"reference",value:e})}static set({valueType:e,values:t}){return new this({type:"set",valueType:e,values:t})}static string(e){return new this({type:"string",value:e})}static unknown(e){return new this({type:"unknown",value:e})}static uuid(e){return new this({type:"uuid",value:e})}static nop(){return new this({type:"nop"})}static isNop(e){return e.internalType.type==="nop"}shouldWriteInLine(){switch(this.internalType.type){case"bigInteger":case"boolean":case"bytes":case"date":case"dateTime":case"double":case"enum":case"float":case"integer":case"long":case"nop":case"raw":case"string":case"unknown":case"uuid":return!0;case"optional":return this.internalType.value.shouldWriteInLine();case"builder":case"class":case"list":case"map":case"reference":case"set":return!1;default:T(this.internalType)}}writeBigInteger({writer:e,bigInteger:t}){e.write("new "),e.writeNode(f.instantiateClass({classReference:z,arguments_:[i.string(t.value)]}))}writeBuilder({writer:e,builder:t}){e.writeNode(t.classReference),e.writeNewLineIfLastLineNot(),e.indent(),this.writeBuilderParameters({writer:e,parameters:this.orderBuilderParameters(ee({parameters:t.parameters}))}),e.dedent()}writeBuilderParameters({writer:e,parameters:t}){e.writeLine(".builder()");for(let s of t)e.write(`.${s.name}(`),s.value.shouldWriteInLine()||e.newLine(),e.indent(),e.writeNode(s.value),e.dedent(),s.value.shouldWriteInLine()||e.newLine(),e.writeLine(")");e.writeNewLineIfLastLineNot(),e.write(".build()")}orderBuilderParameters(e){return e.sort((t,s)=>t.value.isOptional()&&!s.value.isOptional()?1:!t.value.isOptional()&&s.value.isOptional()?-1:0)}writeClass({writer:e,class_:t}){let s=Q({parameters:t.parameters});e.writeNode(f.instantiateClass({classReference:t.reference,arguments_:s.map(c=>c.value)}))}writeDateTime({writer:e,dateTime:t}){e.writeNode(f.invokeMethod({on:K,method:"parse",arguments_:[i.string(t.value)]}))}writeEnum({writer:e,enum_:t}){e.writeNode(t.classReference),e.write("."+t.value)}writeList({writer:e,list:t}){this.writeIterable({writer:e,iterable:t})}writeMap({writer:e,map:t}){let s=te({entries:t.entries});if(s.length===0){e.write("new "),e.writeNode(j),e.write("<"),e.writeNode(t.keyType),e.write(", "),e.writeNode(t.valueType),e.write(">()");return}e.write("new "),e.writeNode(j),e.write("<"),e.writeNode(t.keyType),e.write(", "),e.writeNode(t.valueType),e.writeLine(">() {{"),e.indent();for(let c of s)e.write("put("),e.writeNode(c.key),e.write(", "),e.writeNode(c.value),e.writeLine(");");e.dedent(),e.write("}}")}writeOptional({writer:e,optional:t}){if(!t.useOf){e.writeNode(t.value);return}e.writeNode(f.invokeMethod({on:E,method:"of",arguments_:[t.value]}))}writeSet({writer:e,set:t}){this.writeIterable({writer:e,iterable:t})}writeIterable({writer:e,iterable:t}){let s=t.type==="list"?U:G,c=ne({values:t.values});if(c.length===0){e.write(`new ${s.name}<`),e.writeNode(t.valueType),e.write(">()");return}e.write("new "),e.writeNode(s),e.write("<"),e.writeNode(t.valueType),e.writeLine(">("),e.indent(),e.writeNode(f.invokeMethod({on:$,method:"asList",arguments_:c})),e.writeNewLineIfLastLineNot(),e.dedent(),e.write(")")}writeUnknown({writer:e,value:t}){switch(typeof t){case"boolean":e.write(t.toString());return;case"string":e.write(`"${this.escapeString(t)}"`);return;case"number":e.write(t.toString());return;case"object":if(t==null){e.write("null");return}if(Array.isArray(t)){this.writeUnknownArray({writer:e,value:t});return}this.writeUnknownMap({writer:e,value:t});return;default:throw new Error(`Internal error; unsupported unknown type: ${typeof t}`)}}writeUnknownArray({writer:e,value:t}){if(t.length===0){e.write("new"),e.writeNode(U),e.write("<Object>()");return}e.writeLine("new"),e.writeNode(U),e.write("<Object>() {"),e.indent(),e.writeNode(f.invokeMethod({on:$,method:"asList",arguments_:t.map(s=>i.unknown(s))})),e.writeNewLineIfLastLineNot(),e.dedent(),e.write("}")}writeUnknownMap({writer:e,value:t}){let s=Object.entries(t);if(s.length===0){e.write("new "),e.writeNode(j),e.write("<String, Object>()");return}e.writeLine("new "),e.writeNode(j),e.write("<String, Object>() {{"),e.indent();for(let[c,d]of s)e.write(`put("${c}", `),e.writeNode(i.unknown(d)),e.writeLine(");");e.dedent(),e.write("}}")}writeUUID({writer:e,uuid:t}){e.writeNode(f.invokeMethod({on:X,method:"fromString",arguments_:[i.string(t.value)]}))}escapeString(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}static isAlreadyOptional(e){return e.internalType.type==="optional"}},U=new l({name:"ArrayList",packageName:"java.util"}),z=new l({name:"BigInteger",packageName:"java.math"}),j=new l({name:"HashMap",packageName:"java.util"}),G=new l({name:"HashSet",packageName:"java.util"}),Dt=new l({name:"List",packageName:"java.util"}),Ft=new l({name:"Map",packageName:"java.util"}),K=new l({name:"OffsetDateTime",packageName:"java.time"}),Jt=new l({name:"Set",packageName:"java.util"}),X=new l({name:"UUID",packageName:"java.util"});function Q({parameters:i}){return i.filter(n=>!m.isNop(n.value))}function ee({parameters:i}){return i.filter(n=>!m.isNop(n.value))}function te({entries:i}){return i.filter(n=>!m.isNop(n.key)&&!m.isNop(n.value))}function ne({values:i}){return i.filter(n=>!m.isNop(n))}function R({writer:i,arguments_:n}){let e=se(n);if(e.length===0){i.write("()");return}if(e.some(s=>s instanceof m&&!s.shouldWriteInLine())){ie({writer:i,arguments_:e});return}i.write("("),e.forEach((s,c)=>{c>0&&i.write(", "),_({writer:i,argument:s})}),i.write(")")}function ie({writer:i,arguments_:n}){i.writeLine("("),i.indent(),n.forEach((e,t)=>{t>0&&i.writeLine(","),_({writer:i,argument:e})}),i.dedent(),n.length>0&&i.newLine(),i.write(")")}function _({writer:i,argument:n}){M(n)?i.writeNodeOrString(n.assignment):n.write(i)}function se(i){return i.filter(n=>!(n instanceof m&&m.isNop(n)))}var x=class extends h{constructor({classReference:e,arguments_:t}){super();o(this,"classReference");o(this,"arguments_");this.classReference=e,this.arguments_=t}write(e){e.writeNode(this.classReference),R({writer:e,arguments_:this.arguments_})}};r();a();var k=class extends h{constructor(e){super();o(this,"arg");this.arg=e}write(e){return new w(this.arg).write(e)}};r();a();var b=class extends h{constructor({name:e,access:t,parameters:s,body:c,static_:d,return_:W}){super();o(this,"name");o(this,"access");o(this,"parameters");o(this,"body");o(this,"return_");o(this,"static_");this.name=e,this.access=t,this.parameters=s,this.body=c,this.return_=W,this.static_=d!=null?d:!1}write(e){if(e.write(`${this.access} `),this.static_&&e.write("static "),this.return_!=null?e.writeNode(this.return_):e.write("void"),e.write(` ${this.name}`),this.parameters.length===0?e.write("()"):(e.writeLine("("),e.indent(),this.parameters.forEach((t,s)=>{s>0&&e.writeLine(", "),e.writeNode(t)}),e.dedent(),e.write(")")),this.body==null){e.write(";");return}e.writeLine(" {"),e.indent(),e.writeNode(this.body),e.writeNewLineIfLastLineNot(),e.dedent(),e.write("}")}};r();a();var v=class extends h{constructor({method:e,arguments_:t,on:s}){super();o(this,"on");o(this,"method");o(this,"arguments_");this.on=s,this.method=e,this.arguments_=t}write(e){this.on.write(e),e.write("."),e.write(this.method),R({writer:e,arguments_:this.arguments_})}};r();a();var L=class extends h{constructor({name:e,type:t}){super();o(this,"name");o(this,"type");this.name=e,this.type=t}write(e){e.writeNode(this.type),e.write(` ${this.name}`)}};function re(i){return new k(i)}function ae(i){return new N(i)}function oe(i){return new l(i)}function le(i){return new x(i)}function ce(i){return new v(i)}function pe(i){return new b(i)}function ue(i){return new L(i)}export{T as a,D as b,f as c};
@@ -1 +0,0 @@
1
- import{a as i}from"./chunk-TTNRR5YY.js";import{a}from"./chunk-IBCUQF6Z.js";import{a as o}from"./chunk-WFKWXM7L.js";import{j as t,k as r,m as p}from"./chunk-2AZXIWKY.js";r();p();var s=class extends o{constructor({ir:e,config:n,options:c={}}){super(new a({ir:e,config:n,options:c}));t(this,"formatter")}async generate(e,n={}){return super.generate(e,n)}generateSync(e,n={}){return super.generateSync(e,n)}createSnippetGenerator(e){return new i({context:e})}};export{s as a};
@@ -1 +0,0 @@
1
- import{k as e,m as l}from"./chunk-2AZXIWKY.js";e();l();
@@ -1,14 +0,0 @@
1
- import{a as R}from"./chunk-JSEUWNSK.js";import{c as v}from"./chunk-WFKWXM7L.js";import{a as N}from"./chunk-7CY27UU7.js";import{a as k}from"./chunk-452HWDL4.js";import{a as h,c as l}from"./chunk-AASPH6YC.js";import{j as d,k as t,m as a}from"./chunk-2AZXIWKY.js";t();a();t();a();t();a();t();a();t();a();t();a();t();a();var Pe=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis,S=Pe;var Ae=typeof self=="object"&&self&&self.Object===Object&&self,Ie=S||Ae||Function("return this")(),T=Ie;var je=T.Symbol,n=je;t();a();var P=Object.prototype,Oe=P.hasOwnProperty,Fe=P.toString,c=n?n.toStringTag:void 0;function we(r){var f=Oe.call(r,c),e=r[c];try{r[c]=void 0;var o=!0}catch(i){}var s=Fe.call(r);return o&&(f?r[c]=e:delete r[c]),s}var A=we;t();a();var Ee=Object.prototype,Le=Ee.toString;function Me(r){return Le.call(r)}var I=Me;var We="[object Null]",Ue="[object Undefined]",j=n?n.toStringTag:void 0;function Be(r){return r==null?r===void 0?Ue:We:j&&j in Object(r)?A(r):I(r)}var O=Be;t();a();function ze(r){return r!=null&&typeof r=="object"}var F=ze;var De="[object Symbol]";function Ze(r){return typeof r=="symbol"||F(r)&&O(r)==De}var w=Ze;t();a();t();a();function qe(r,f){for(var e=-1,o=r==null?0:r.length,s=Array(o);++e<o;)s[e]=f(r[e],e,r);return s}var E=qe;t();a();var Ge=Array.isArray,L=Ge;var Je=1/0,M=n?n.prototype:void 0,W=M?M.toString:void 0;function U(r){if(typeof r=="string")return r;if(L(r))return E(r,U)+"";if(w(r))return W?W.call(r):"";var f=r+"";return f=="0"&&1/r==-Je?"-0":f}var B=U;t();a();function He(r){return r==null?"":B(r)}var m=He;t();a();t();a();t();a();t();a();t();a();t();a();function Ve(r,f,e){var o=-1,s=r.length;f<0&&(f=-f>s?0:s+f),e=e>s?s:e,e<0&&(e+=s),s=f>e?0:e-f>>>0,f>>>=0;for(var i=Array(s);++o<s;)i[o]=r[o+f];return i}var z=Ve;function Ke(r,f,e){var o=r.length;return e=e===void 0?o:e,!f&&e>=o?r:z(r,f,e)}var D=Ke;t();a();var _e="\\ud800-\\udfff",$e="\\u0300-\\u036f",Ye="\\ufe20-\\ufe2f",Qe="\\u20d0-\\u20ff",Xe=$e+Ye+Qe,er="\\ufe0e\\ufe0f",rr="\\u200d",tr=RegExp("["+rr+_e+Xe+er+"]");function ar(r){return tr.test(r)}var g=ar;t();a();t();a();function or(r){return r.split("")}var Z=or;t();a();var q="\\ud800-\\udfff",fr="\\u0300-\\u036f",sr="\\ufe20-\\ufe2f",ur="\\u20d0-\\u20ff",pr=fr+sr+ur,lr="\\ufe0e\\ufe0f",ir="["+q+"]",b="["+pr+"]",y="\\ud83c[\\udffb-\\udfff]",nr="(?:"+b+"|"+y+")",G="[^"+q+"]",J="(?:\\ud83c[\\udde6-\\uddff]){2}",H="[\\ud800-\\udbff][\\udc00-\\udfff]",mr="\\u200d",V=nr+"?",K="["+lr+"]?",dr="(?:"+mr+"(?:"+[G,J,H].join("|")+")"+K+V+")*",xr=K+V+dr,cr="(?:"+[G+b+"?",b,J,H,ir].join("|")+")",gr=RegExp(y+"(?="+y+")|"+cr+xr,"g");function hr(r){return r.match(gr)||[]}var _=hr;function br(r){return g(r)?_(r):Z(r)}var $=br;function yr(r){return function(f){f=m(f);var e=g(f)?$(f):void 0,o=e?e[0]:f.charAt(0),s=e?D(e,1).join(""):f.slice(1);return o[r]()+s}}var Y=yr;var Cr=Y("toUpperCase"),Q=Cr;function vr(r){return Q(m(r).toLowerCase())}var X=vr;t();a();t();a();function Rr(r,f,e,o){var s=-1,i=r==null?0:r.length;for(o&&i&&(e=r[++s]);++s<i;)e=f(e,r[s],s,r);return e}var ee=Rr;t();a();t();a();t();a();function Nr(r){return function(f){return r==null?void 0:r[f]}}var re=Nr;var kr={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Sr=re(kr),te=Sr;var Tr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Pr="\\u0300-\\u036f",Ar="\\ufe20-\\ufe2f",Ir="\\u20d0-\\u20ff",jr=Pr+Ar+Ir,Or="["+jr+"]",Fr=RegExp(Or,"g");function wr(r){return r=m(r),r&&r.replace(Tr,te).replace(Fr,"")}var ae=wr;t();a();t();a();var Er=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Lr(r){return r.match(Er)||[]}var oe=Lr;t();a();var Mr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function Wr(r){return Mr.test(r)}var fe=Wr;t();a();var ie="\\ud800-\\udfff",Ur="\\u0300-\\u036f",Br="\\ufe20-\\ufe2f",zr="\\u20d0-\\u20ff",Dr=Ur+Br+zr,ne="\\u2700-\\u27bf",me="a-z\\xdf-\\xf6\\xf8-\\xff",Zr="\\xac\\xb1\\xd7\\xf7",qr="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Gr="\\u2000-\\u206f",Jr=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",de="A-Z\\xc0-\\xd6\\xd8-\\xde",Hr="\\ufe0e\\ufe0f",xe=Zr+qr+Gr+Jr,ce="['\u2019]",se="["+xe+"]",Vr="["+Dr+"]",ge="\\d+",Kr="["+ne+"]",he="["+me+"]",be="[^"+ie+xe+ge+ne+me+de+"]",_r="\\ud83c[\\udffb-\\udfff]",$r="(?:"+Vr+"|"+_r+")",Yr="[^"+ie+"]",ye="(?:\\ud83c[\\udde6-\\uddff]){2}",Ce="[\\ud800-\\udbff][\\udc00-\\udfff]",x="["+de+"]",Qr="\\u200d",ue="(?:"+he+"|"+be+")",Xr="(?:"+x+"|"+be+")",pe="(?:"+ce+"(?:d|ll|m|re|s|t|ve))?",le="(?:"+ce+"(?:D|LL|M|RE|S|T|VE))?",ve=$r+"?",Re="["+Hr+"]?",et="(?:"+Qr+"(?:"+[Yr,ye,Ce].join("|")+")"+Re+ve+")*",rt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",tt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",at=Re+ve+et,ot="(?:"+[Kr,ye,Ce].join("|")+")"+at,ft=RegExp([x+"?"+he+"+"+pe+"(?="+[se,x,"$"].join("|")+")",Xr+"+"+le+"(?="+[se,x+ue,"$"].join("|")+")",x+"?"+ue+"+"+pe,x+"+"+le,tt,rt,ge,ot].join("|"),"g");function st(r){return r.match(ft)||[]}var Ne=st;function ut(r,f,e){return r=m(r),f=e?void 0:f,f===void 0?fe(r)?Ne(r):oe(r):r.match(f)||[]}var ke=ut;var pt="['\u2019]",lt=RegExp(pt,"g");function it(r){return function(f){return ee(ke(ae(f).replace(lt,"")),r,"")}}var Se=it;var nt=Se(function(r,f,e){return f=f.toLowerCase(),r+(e?X(f):f)}),C=nt;var mt=new Set(["enum","extends","package","void","short","class","abstract","return","import","for","assert","switch","getClass"]),Te=class r extends v{constructor({ir:e,config:o,options:s}){super({ir:e,config:o,options:s});d(this,"ir");d(this,"customConfig");d(this,"dynamicTypeMapper");d(this,"dynamicTypeLiteralMapper");d(this,"filePropertyMapper");this.ir=e,this.customConfig=o.customConfig!=null?o.customConfig:void 0,this.dynamicTypeMapper=new N({context:this}),this.dynamicTypeLiteralMapper=new R({context:this}),this.filePropertyMapper=new k({context:this})}clone(){return new r({ir:this.ir,config:this.config,options:this.options})}getClassName(e){return this.getName(e.pascalCase.safeName)}getEnumName(e){return this.getName(e.screamingSnakeCase.safeName)}getPropertyName(e){return this.getName(e.camelCase.safeName)}getMethodName(e){return this.getName(e.camelCase.safeName)}getRootClientClassReference(){return l.classReference({name:this.getRootClientClassName(),packageName:this.getRootPackageName()})}getRootClientClassName(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["client-class-name"])!=null?o:`${this.getBaseNamePrefix()}Client`}getEnvironmentClassName(){return"Environment"}getEnvironmentTypeReferenceFromID(e){let o=this.resolveEnvironmentName(e);if(o!=null)return this.getEnvironmentClassReferenceForEnumName(o)}getEnvironmentClassReference(){return l.classReference({name:this.getEnvironmentClassName(),packageName:this.getCorePackageName()})}getEnvironmentClassReferenceForEnumName(e){return l.classReference({name:`${this.getEnvironmentClassName()}.${this.getEnumName(e)}`,packageName:this.getCorePackageName()})}getJavaClassReferenceFromDeclaration({declaration:e}){return l.classReference({name:e.name.pascalCase.unsafeName,packageName:this.getTypesPackageName(e.fernFilepath)})}getNullableClassReference(){return l.classReference({name:"Nullable",packageName:this.getCorePackageName()})}getNullableOfNull(){return l.TypeLiteral.reference(l.invokeMethod({on:this.getNullableClassReference(),method:"ofNull",arguments_:[]}))}getFileStreamFromString(e){return l.TypeLiteral.reference(l.codeblock(o=>{o.write("new "),o.writeNode(this.getFileStreamClassReference()),o.write("("),o.writeNode(this.getByteArrayInputStreamClassReference()),o.write("("),o.writeNode(l.TypeLiteral.string(e)),o.write(".getBytes("),o.writeNode(this.getStandardCharsetsClassReference()),o.write(".UTF_8)))")}))}getFileStreamClassReference(){return l.classReference({name:"FileStream",packageName:this.getCorePackageName()})}getByteArrayInputStreamClassReference(){return l.classReference({name:"ByteArrayInputStream",packageName:"java.io"})}getStandardCharsetsClassReference(){return l.classReference({name:"StandardCharsets",packageName:"java.nio.charset"})}isPrimitive(e){switch(e.type){case"primitive":return!0;case"optional":case"nullable":return this.isPrimitive(e.value);case"named":{let o=this.resolveNamedType({typeId:e.value});if(o==null)return!1;switch(o.type){case"alias":return this.isPrimitive(o.typeReference);case"discriminatedUnion":case"undiscriminatedUnion":case"object":case"enum":return!1;default:h(o)}break}case"list":case"set":case"map":case"literal":case"unknown":return!1;default:h(e)}}getRootPackageName(){let e=this.getPackagePrefixTokens();return this.joinPackageTokens(e)}getCorePackageName(){let e=this.getPackagePrefixTokens();return e.push("core"),this.joinPackageTokens(e)}getTypesPackageName(e){return this.getResourcesPackage(e,"types")}getRequestsPackageName(e){return this.getPackageLayout()==="flat"?this.getTypesPackageName(e):this.getResourcesPackage(e,"requests")}getResourcesPackage(e,o){let s=this.getPackagePrefixTokens();switch(this.getPackageLayout()){case"flat":e!=null&&s.push(...e.packagePath.map(i=>this.getPackageNameSegment(i)));break;case"nested":default:e!=null&&e.allParts.length>0&&s.push("resources"),e!=null&&s.push(...e.allParts.map(i=>this.getPackageNameSegment(i)))}return o!=null&&s.push(o),this.joinPackageTokens(s)}getPackageName(e,o){let s=this.getPackageNameSegments(e);return s=o!=null?[...s,o]:s,[...this.getPackagePrefixTokens(),...s].join(".")}getPackageLayout(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["package-layout"])!=null?o:"nested"}shouldInlinePathParameters(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["inline-path-parameters"])!=null?o:!1}shouldInlineFileProperties(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["inline-file-properties"])!=null?o:!1}getPackageNameSegments(e){return e.packagePath.map(o=>this.getPackageNameSegment(o))}getPackageNameSegment(e){return e.camelCase.safeName.toLowerCase()}getPackagePrefixTokens(){var o;if(((o=this.customConfig)==null?void 0:o["package-prefix"])!=null)return this.customConfig["package-prefix"].split(".");let e=[];return e.push("com"),e.push(...this.splitOnNonAlphaNumericChar(this.config.organization)),e.push(...this.splitOnNonAlphaNumericChar(this.getApiName())),e}getBaseNamePrefix(){return this.convertKebabCaseToUpperCamelCase(this.config.organization)+this.convertKebabCaseToUpperCamelCase(this.getApiName())}getApiName(){return C(this.config.workspaceName)}startsWithNumber(e){return/^\d/.test(e)}splitOnNonAlphaNumericChar(e){return e.split(/[^a-zA-Z0-9]/)}convertKebabCaseToUpperCamelCase(e){return e.replace(/-([a-z])/g,(o,s)=>s.toUpperCase()).replace(/^[a-z]/,o=>o.toUpperCase())}joinPackageTokens(e){return e.map(s=>this.startsWithNumber(s)?"_"+s:s).join(".")}getName(e){return this.isReservedName(e)?"_"+e:e}isReservedName(e){return mt.has(e)}};export{Te as a};
2
- /*! Bundled license information:
3
-
4
- lodash-es/lodash.js:
5
- (**
6
- * @license
7
- * Lodash (Custom Build) <https://lodash.com/>
8
- * Build: `lodash modularize exports="es" -o ./`
9
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
10
- * Released under MIT license <https://lodash.com/license>
11
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
12
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13
- *)
14
- */
@@ -1 +0,0 @@
1
- import{b as c}from"./chunk-WFKWXM7L.js";import{a as s,c as n}from"./chunk-AASPH6YC.js";import{j as l,k as u,m as p}from"./chunk-2AZXIWKY.js";u();p();var d=class{constructor({context:e}){l(this,"context");this.context=e}convert(e){if(e.value===null)return this.context.isNullable(e.typeReference)?this.context.getNullableOfNull():(this.context.errors.add({severity:c.Critical,message:"Expected non-null value, but got null"}),n.TypeLiteral.nop());if(e.value===void 0)return n.TypeLiteral.nop();switch(e.typeReference.type){case"list":return this.convertList({list:e.typeReference.value,value:e.value});case"literal":return this.convertLiteral({literal:e.typeReference.value,value:e.value});case"map":return this.convertMap({map:e.typeReference,value:e.value});case"named":{let t=this.context.resolveNamedType({typeId:e.typeReference.value});return t==null?n.TypeLiteral.nop():this.convertNamed({named:t,value:e.value,as:e.as})}case"nullable":case"optional":return n.TypeLiteral.optional({value:this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as}),useOf:e.as==="mapValue"});case"primitive":return this.convertPrimitive({primitive:e.typeReference.value,value:e.value,as:e.as});case"set":return this.convertSet({set:e.typeReference.value,value:e.value});case"unknown":return this.convertUnknown({value:e.value});default:s(e.typeReference)}}convertList({list:e,value:t}){return Array.isArray(t)?n.TypeLiteral.list({valueType:this.context.dynamicTypeMapper.convert({typeReference:e}),values:t.map((i,r)=>{this.context.errors.scope({index:r});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})}):(this.context.errors.add({severity:c.Critical,message:`Expected array but got: ${typeof t}`}),n.TypeLiteral.nop())}convertLiteral({literal:e,value:t}){switch(e.type){case"boolean":{let i=this.context.getValueAsBoolean({value:t});return i==null?n.TypeLiteral.nop():n.TypeLiteral.boolean(i)}case"string":{let i=this.context.getValueAsString({value:t});return i==null?n.TypeLiteral.nop():n.TypeLiteral.string(i)}default:s(e)}}convertSet({set:e,value:t}){return Array.isArray(t)?n.TypeLiteral.set({valueType:this.context.dynamicTypeMapper.convert({typeReference:e}),values:t.map((i,r)=>{this.context.errors.scope({index:r});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})}):(this.context.errors.add({severity:c.Critical,message:`Expected array but got: ${typeof t}`}),n.TypeLiteral.nop())}convertMap({map:e,value:t}){return typeof t!="object"||t==null?(this.context.errors.add({severity:c.Critical,message:`Expected object but got: ${t==null?"null":typeof t}`}),n.TypeLiteral.nop()):n.TypeLiteral.map({keyType:this.context.dynamicTypeMapper.convert({typeReference:e.key}),valueType:this.context.dynamicTypeMapper.convert({typeReference:e.value}),entries:Object.entries(t).map(([i,r])=>{this.context.errors.scope(i);try{return{key:this.convert({typeReference:e.key,value:i,as:"mapKey"}),value:this.convert({typeReference:e.value,value:r,as:"mapValue"})}}finally{this.context.errors.unscope()}})})}convertNamed({named:e,value:t,as:i}){switch(e.type){case"alias":return this.convert({typeReference:e.typeReference,value:t,as:i});case"discriminatedUnion":return this.convertDiscriminatedUnion({discriminatedUnion:e,value:t});case"enum":return this.convertEnum({enum_:e,value:t});case"object":return this.convertObject({object_:e,value:t,as:i});case"undiscriminatedUnion":return this.convertUndiscriminatedUnion({undiscriminatedUnion:e,value:t});default:s(e)}}convertDiscriminatedUnion({discriminatedUnion:e,value:t}){let i=this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),r=this.context.resolveDiscriminatedUnionTypeInstance({discriminatedUnion:e,value:t});if(r==null)return n.TypeLiteral.nop();let a=r.singleDiscriminatedUnionType;switch(a.type){case"samePropertiesAsObject":{let o=this.context.resolveNamedType({typeId:a.typeId});return o==null?n.TypeLiteral.nop():n.TypeLiteral.reference(n.invokeMethod({on:i,method:this.context.getPropertyName(a.discriminantValue.name),arguments_:[this.convertNamed({named:o,value:r.value})]}))}case"singleProperty":{let o=this.context.getRecord(r.value);if(o==null)return n.TypeLiteral.nop();try{return this.context.errors.scope(a.discriminantValue.wireValue),n.TypeLiteral.reference(n.invokeMethod({on:i,method:this.context.getPropertyName(a.discriminantValue.name),arguments_:[this.convert({typeReference:a.typeReference,value:o[a.discriminantValue.wireValue]})]}))}finally{this.context.errors.unscope()}}case"noProperties":return n.TypeLiteral.reference(n.invokeMethod({on:i,method:this.context.getPropertyName(a.discriminantValue.name),arguments_:[]}));default:s(a)}}convertObject({object_:e,value:t,as:i}){var a;let r=this.context.associateByWireValue({parameters:e.properties,values:(a=this.context.getRecord(t))!=null?a:{}});return n.TypeLiteral.builder({classReference:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),parameters:r.map(o=>{this.context.errors.scope(o.name.wireValue);try{return{name:this.context.getMethodName(o.name.name),value:this.convert({typeReference:o.typeReference,value:o.value,as:i})}}finally{this.context.errors.unscope()}})})}convertEnum({enum_:e,value:t}){let i=this.getEnumValueName({enum_:e,value:t});return i==null?n.TypeLiteral.nop():n.TypeLiteral.enum_({classReference:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),value:i})}getEnumValueName({enum_:e,value:t}){if(typeof t!="string"){this.context.errors.add({severity:c.Critical,message:`Expected enum value string, got: ${typeof t}`});return}let i=e.values.find(r=>r.wireValue===t);if(i==null){this.context.errors.add({severity:c.Critical,message:`An enum value named "${t}" does not exist in this context`});return}return this.context.getEnumName(i.name)}convertUndiscriminatedUnion({undiscriminatedUnion:e,value:t}){let i=this.findMatchingUndiscriminatedUnionType({undiscriminatedUnion:e,value:t});if(i==null)return n.TypeLiteral.nop();if(this.context.isPrimitive(i.valueTypeReference))return n.TypeLiteral.reference(n.invokeMethod({on:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),method:"of",arguments_:[i.typeInstantiation]}));let r=this.getUndiscriminatedUnionFieldName({typeReference:i.valueTypeReference});return r==null?n.TypeLiteral.nop():n.TypeLiteral.reference(n.invokeMethod({on:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),method:`of${r}`,arguments_:[i.typeInstantiation]}))}findMatchingUndiscriminatedUnionType({undiscriminatedUnion:e,value:t}){for(let i of e.types)try{let r=this.convert({typeReference:i,value:t});return{valueTypeReference:i,typeInstantiation:r}}catch(r){continue}this.context.errors.add({severity:c.Critical,message:`None of the types in the undiscriminated union matched the given "${typeof t}" value`})}getUndiscriminatedUnionFieldName({typeReference:e}){switch(e.type){case"list":return this.getUndiscriminatedUnionFieldNameForList({list:e});case"literal":return this.getUndiscriminatedUnionFieldNameForLiteral({literal:e.value});case"map":return this.getUndiscriminatedUnionFieldNameForMap({map:e});case"named":{let t=this.context.resolveNamedType({typeId:e.value});return t==null?void 0:this.context.getClassName(t.declaration.name)}case"optional":return this.getUndiscriminatedUnionFieldNameForOptional({typeReference:e});case"nullable":return this.getUndiscriminatedUnionFieldNameForNullable({typeReference:e});case"primitive":return this.getUndiscriminatedUnionFieldNameForPrimitive({primitive:e.value});case"set":return this.getUndiscriminatedUnionFieldNameForSet({set:e});case"unknown":return"Unknown";default:s(e)}}getUndiscriminatedUnionFieldNameForList({list:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`ListOf${t}`}getUndiscriminatedUnionFieldNameForMap({map:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e.key});if(t==null)return;let i=this.getUndiscriminatedUnionFieldName({typeReference:e.value});if(i!=null)return`MapOf${t}To${i}`}getUndiscriminatedUnionFieldNameForOptional({typeReference:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`Optional${t}`}getUndiscriminatedUnionFieldNameForNullable({typeReference:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`Nullable${t}`}getUndiscriminatedUnionFieldNameForSet({set:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`SetOf${t}`}getUndiscriminatedUnionFieldNameForLiteral({literal:e}){}getUndiscriminatedUnionFieldNameForPrimitive({primitive:e}){switch(e){case"INTEGER":case"UINT":return"Integer";case"LONG":case"UINT_64":return"Long";case"FLOAT":return"Float";case"DOUBLE":return"Double";case"BOOLEAN":return"Boolean";case"BIG_INTEGER":return"BigInteger";case"STRING":return"String";case"UUID":return"Uuid";case"DATE":return"Date";case"DATE_TIME":return"DateTime";case"BASE_64":return"Base64";default:s(e)}}convertUnknown({value:e}){return n.TypeLiteral.unknown(e)}convertPrimitive({primitive:e,value:t,as:i}){switch(e){case"INTEGER":case"UINT":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.integer(r)}case"LONG":case"UINT_64":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.long(r)}case"FLOAT":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.float(r)}case"DOUBLE":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.double(r)}case"BOOLEAN":{let r=this.getValueAsBoolean({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.boolean(r)}case"STRING":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.string(r)}case"DATE":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.string(r)}case"DATE_TIME":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.dateTime(r)}case"UUID":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.uuid(r)}case"BASE_64":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.bytes(r)}case"BIG_INTEGER":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.bigInteger(r)}default:s(e)}}getValueAsNumber({value:e,as:t}){let i=t==="mapKey"&&typeof e=="string"?Number(e):e;return this.context.getValueAsNumber({value:i})}getValueAsBoolean({value:e,as:t}){let i=t==="mapKey"?typeof e=="string"?e==="true":e==="false"?!1:e:e;return this.context.getValueAsBoolean({value:i})}};export{d as a};
@@ -1 +0,0 @@
1
- import{b as c,d as m,e as d}from"./chunk-WFKWXM7L.js";import{a as l,c as i}from"./chunk-AASPH6YC.js";import{j as h,k as P,m as R}from"./chunk-2AZXIWKY.js";P();R();var x="com.example.usage",A="Example",C="run",F="client",q={type:"primitive",value:"STRING"},B=class{constructor({context:e,formatter:t}){h(this,"context");h(this,"formatter");this.context=e,this.formatter=t}async generateSnippet({endpoint:e,request:t,options:r}){var n,o;let a=this.getConfig(r);return await this.buildCodeBlock({endpoint:e,snippet:t,options:r}).toStringAsync({packageName:(n=a.fullStylePackageName)!=null?n:x,customConfig:(o=this.context.customConfig)!=null?o:{},formatter:this.formatter})}generateSnippetSync({endpoint:e,request:t,options:r}){var n,o;let a=this.getConfig(r);return this.buildCodeBlock({endpoint:e,snippet:t,options:r}).toString({packageName:(n=a.fullStylePackageName)!=null?n:x,customConfig:(o=this.context.customConfig)!=null?o:{},formatter:this.formatter})}buildCodeBlock({endpoint:e,snippet:t,options:r}){let a=i.codeblock(n=>{n.writeNodeStatement(this.constructClient({endpoint:e,snippet:t})),n.newLine(),n.writeNodeStatement(this.callMethod({endpoint:e,snippet:t}))}),s=this.getStyle(r);switch(s){case m.Concise:return a;case m.Full:return this.buildFullCodeBlock({body:a,options:r});default:l(s)}}constructClient({endpoint:e,snippet:t}){return i.codeblock(r=>{r.writeNode(this.context.getRootClientClassReference()),r.write(` ${F} = `),r.writeNode(i.TypeLiteral.builder({classReference:this.context.getRootClientClassReference(),parameters:this.getRootClientBuilderArgs({endpoint:e,snippet:t})}))})}buildFullCodeBlock({body:e,options:t}){var s;let r=this.getConfig(t),a=i.class_({name:(s=r.fullStyleClassName)!=null?s:A,access:i.Access.Public});return a.addMethod(i.method({name:C,access:i.Access.Public,static_:!0,parameters:[],body:e})),a}getRootClientBuilderArgs({endpoint:e,snippet:t}){let r=[];e.auth!=null&&(t.auth!=null?r.push(...this.getRootClientAuthArgs({auth:e.auth,values:t.auth})):this.context.errors.add({severity:c.Warning,message:`Auth with ${e.auth.type} configuration is required for this endpoint`}));let a=this.getRootClientBaseUrlArg({baseUrl:t.baseURL,environment:t.environment});return a!=null&&r.push(a),this.context.errors.scope(d.Headers),this.context.ir.headers!=null&&t.headers!=null&&r.push(...this.getRootClientHeaderArgs({headers:this.context.ir.headers,values:t.headers})),this.context.errors.unscope(),r}getRootClientBaseUrlArg({baseUrl:e,environment:t}){var r;if(e!=null&&t!=null){this.context.errors.add({severity:c.Critical,message:"Cannot specify both baseUrl and environment options"});return}if(e!=null){if(((r=this.context.ir.environments)==null?void 0:r.environments.type)==="multipleBaseUrls"){this.context.errors.add({severity:c.Critical,message:"The Java SDK doesn't support a baseUrl when multiple URL environments are configured"});return}return{name:"url",value:i.TypeLiteral.string(e)}}if(t!=null){if(this.context.isSingleEnvironmentID(t)){let a=this.context.getEnvironmentTypeReferenceFromID(t);if(a==null){this.context.errors.add({severity:c.Warning,message:`Environment ${JSON.stringify(t)} was not found`});return}return{name:"environment",value:i.TypeLiteral.reference(a)}}if(this.context.isMultiEnvironmentValues(t))return this.context.validateMultiEnvironmentUrlValues(t)?{name:"environment",value:i.TypeLiteral.reference(i.instantiateClass({classReference:this.context.getEnvironmentClassReference(),arguments_:Object.values(t).map(a=>this.context.dynamicTypeLiteralMapper.convert({typeReference:q,value:a}))}))}:void 0}}getRootClientAuthArgs({auth:e,values:t}){switch(e.type){case"basic":return t.type!=="basic"?(this.context.errors.add({severity:c.Critical,message:this.context.newAuthMismatchError({auth:e,values:t}).message}),[]):this.getRootClientBasicAuthArgs({auth:e,values:t});case"bearer":return t.type!=="bearer"?(this.context.errors.add({severity:c.Critical,message:this.context.newAuthMismatchError({auth:e,values:t}).message}),[]):this.getRootClientBearerAuthArgs({auth:e,values:t});case"header":return t.type!=="header"?(this.context.errors.add({severity:c.Critical,message:this.context.newAuthMismatchError({auth:e,values:t}).message}),[]):this.getRootClientHeaderAuthArgs({auth:e,values:t});case"oauth":return t.type!=="oauth"?(this.context.errors.add({severity:c.Critical,message:this.context.newAuthMismatchError({auth:e,values:t}).message}),[]):this.getRootClientOAuthArgs({auth:e,values:t});default:l(e)}}getRootClientBasicAuthArgs({auth:e,values:t}){return[{name:"credentials",value:i.TypeLiteral.raw(`"${t.username}", "${t.password}"`)}]}getRootClientBearerAuthArgs({auth:e,values:t}){return[{name:this.context.getMethodName(e.token),value:i.TypeLiteral.string(t.token)}]}getRootClientHeaderAuthArgs({auth:e,values:t}){return[{name:this.context.getMethodName(e.header.name.name),value:this.context.dynamicTypeLiteralMapper.convert({typeReference:e.header.typeReference,value:t.value})}]}getRootClientOAuthArgs({auth:e,values:t}){return[{name:this.context.getMethodName(e.clientId),value:i.TypeLiteral.string(t.clientId)},{name:this.context.getMethodName(e.clientSecret),value:i.TypeLiteral.string(t.clientSecret)}]}getRootClientHeaderArgs({headers:e,values:t}){let r=[];for(let a of e){let s=this.getRootClientHeaderArg({header:a,value:t.value});s!=null&&r.push({name:this.context.getMethodName(a.name.name),value:s})}return r}getRootClientHeaderArg({header:e,value:t}){let r=this.context.dynamicTypeLiteralMapper.convert({typeReference:e.typeReference,value:t});if(!i.TypeLiteral.isNop(r))return r}callMethod({endpoint:e,snippet:t}){return i.invokeMethod({on:i.codeblock(F),method:this.getMethod({endpoint:e}),arguments_:this.getMethodArgs({endpoint:e,snippet:t})})}getMethodArgs({endpoint:e,snippet:t}){switch(e.request.type){case"inlined":return this.getMethodArgsForInlinedRequest({request:e.request,snippet:t});case"body":return this.getMethodArgsForBodyRequest({request:e.request,snippet:t});default:l(e.request)}}getMethodArgsForBodyRequest({request:e,snippet:t}){var s,n;let r=[];this.context.errors.scope(d.PathParameters);let a=[...(s=this.context.ir.pathParameters)!=null?s:[],...(n=e.pathParameters)!=null?n:[]];return a.length>0&&r.push(...this.getPathParameters({namedParameters:a,snippet:t}).map(o=>o.value)),this.context.errors.unscope(),this.context.errors.scope(d.RequestBody),e.body!=null&&r.push(this.getBodyRequestArg({body:e.body,value:t.requestBody})),this.context.errors.unscope(),r}getBodyRequestArg({body:e,value:t}){switch(e.type){case"bytes":return this.getBytesBodyRequestArg({value:t});case"typeReference":return e.value.type==="optional"?i.TypeLiteral.optional({value:this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value.value,value:t}),useOf:!0}):this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value,value:t});default:l(e)}}getBytesBodyRequestArg({value:e}){return typeof e!="string"?(this.context.errors.add({severity:c.Critical,message:`Expected bytes value to be a string, got ${typeof e}`}),i.TypeLiteral.nop()):i.TypeLiteral.bytes(e)}getMethodArgsForInlinedRequest({request:e,snippet:t}){let r=[],{inlinePathParameters:a,inlineFileProperties:s}={inlinePathParameters:this.context.shouldInlinePathParameters(),inlineFileProperties:this.context.shouldInlineFileProperties()};this.context.errors.scope(d.PathParameters);let n=[];e.pathParameters!=null&&n.push(...this.getPathParameters({namedParameters:e.pathParameters,snippet:t})),this.context.errors.unscope(),this.context.errors.scope(d.RequestBody);let o=this.getFilePropertyInfo({request:e,snippet:t});return this.context.errors.unscope(),this.context.includePathParametersInWrappedRequest({request:e,inlinePathParameters:a})||r.push(...n.map(u=>u.value)),s||r.push(...o.fileFields.map(u=>u.value)),r.push(this.getInlinedRequestArg({request:e,snippet:t,pathParameterFields:this.context.includePathParametersInWrappedRequest({request:e,inlinePathParameters:a})?n:[],filePropertyInfo:o})),r}getFilePropertyInfo({request:e,snippet:t}){return e.body==null||!this.context.isFileUploadRequestBody(e.body)?{fileFields:[],bodyPropertyFields:[]}:this.context.filePropertyMapper.getFilePropertyInfo({body:e.body,value:t.requestBody})}getInlinedRequestArg({request:e,snippet:t,pathParameterFields:r,filePropertyInfo:a}){var y,g,f,v;this.context.errors.scope(d.QueryParameters);let n=this.context.associateQueryParametersByWireValue({parameters:(y=e.queryParameters)!=null?y:[],values:(g=t.queryParameters)!=null?g:{}}).map(p=>({name:this.context.getMethodName(p.name.name),value:this.context.dynamicTypeLiteralMapper.convert(p)}));this.context.errors.unscope(),this.context.errors.scope(d.Headers);let u=this.context.associateByWireValue({parameters:(f=e.headers)!=null?f:[],values:(v=t.headers)!=null?v:{}}).map(p=>({name:this.context.getMethodName(p.name.name),value:this.context.dynamicTypeLiteralMapper.convert(p)}));this.context.errors.unscope(),this.context.errors.scope(d.RequestBody);let I=e.body!=null?this.getInlinedRequestBodyBuilderParameters({body:e.body,value:t.requestBody,filePropertyInfo:a}):[];return this.context.errors.unscope(),i.TypeLiteral.builder({classReference:i.classReference({name:this.context.getClassName(e.declaration.name),packageName:this.context.getRequestsPackageName(e.declaration.fernFilepath)}),parameters:[...r,...u,...n,...I]})}getInlinedRequestBodyBuilderParameters({body:e,value:t,filePropertyInfo:r}){switch(e.type){case"properties":return this.getInlinedRequestBodyPropertyBuilderParameters({parameters:e.value,value:t});case"referenced":return[this.getReferencedRequestBodyPropertyBuilderParameter({body:e,value:t})];case"fileUpload":return this.getFileUploadRequestBodyBuilderParameters({filePropertyInfo:r});default:l(e)}}getFileUploadRequestBodyBuilderParameters({filePropertyInfo:e}){return this.context.shouldInlineFileProperties()?[...e.fileFields,...e.bodyPropertyFields]:e.bodyPropertyFields}getReferencedRequestBodyPropertyBuilderParameter({body:e,value:t}){return{name:this.context.getMethodName(e.bodyKey),value:this.getReferencedRequestBodyPropertyTypeLiteral({body:e.bodyType,value:t})}}getReferencedRequestBodyPropertyTypeLiteral({body:e,value:t}){switch(e.type){case"bytes":return this.getBytesBodyRequestArg({value:t});case"typeReference":return this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value,value:t});default:l(e)}}getInlinedRequestBodyPropertyBuilderParameters({parameters:e,value:t}){var s;let r=[],a=this.context.associateByWireValue({parameters:e,values:(s=this.context.getRecord(t))!=null?s:{}});for(let n of a)r.push({name:this.context.getMethodName(n.name.name),value:this.context.dynamicTypeLiteralMapper.convert(n)});return r}getPathParameters({namedParameters:e,snippet:t}){var s;let r=[],a=this.context.associateByWireValue({parameters:e,values:(s=t.pathParameters)!=null?s:{}});for(let n of a)r.push({name:this.context.getMethodName(n.name.name),value:this.context.dynamicTypeLiteralMapper.convert(n)});return r}getMethod({endpoint:e}){return e.declaration.fernFilepath.allParts.length>0?`${e.declaration.fernFilepath.allParts.map(t=>`${this.context.getMethodName(t)}()`).join(".")}.${this.context.getMethodName(e.declaration.name)}`:this.context.getMethodName(e.declaration.name)}getStyle(e){var t,r;return(r=(t=e.style)!=null?t:this.context.options.style)!=null?r:m.Full}getConfig(e){var t,r;return(r=(t=e.config)!=null?t:this.context.options.config)!=null?r:{}}};export{B as a};
@@ -1 +0,0 @@
1
- import{a as m,b as E}from"./chunk-AASPH6YC.js";import{a as T,b as S,c as b,d as A,j as l,k as o,m as a}from"./chunk-2AZXIWKY.js";o();a();o();a();var y=class{constructor(){l(this,"reporter");l(this,"snippet");l(this,"err");this.snippet=void 0,this.reporter=void 0,this.err=void 0}update({context:e,snippet:r}){this.shouldUpdate({snippet:r,reporter:e.errors})&&(this.reporter=e.errors.clone(),this.snippet=r)}getResponseOrThrow({endpoint:e}){var r;if(this.snippet!=null&&this.reporter!=null)return{snippet:this.snippet,errors:this.reporter.toDynamicSnippetErrors()};throw(r=this.err)!=null?r:new Error(`Failed to generate snippet for endpoint "${e.method} ${e.path}"`)}shouldUpdate({snippet:e,reporter:r}){var t,n;return this.reporter==null||this.reporter.size()>0&&r.size()===0?!0:e.length>((n=(t=this.snippet)==null?void 0:t.length)!=null?n:0)}};var R=class{constructor(e){l(this,"context");this.context=e}async generate(e,r={}){let t=this.context.resolveEndpointLocationOrThrow(e.endpoint);if(t.length===0)throw new Error(`No endpoints found that match "${e.endpoint.method} ${e.endpoint.path}"`);let n=new y;for(let i of t){let s=this.context.clone(),d=this.createSnippetGenerator(s);try{let u=await d.generateSnippet({endpoint:i,request:e,options:r});if(s.errors.empty())return{snippet:u,errors:void 0};n.update({context:s,snippet:u})}catch(u){n.err==null&&(n.err=u)}}return n.getResponseOrThrow({endpoint:e.endpoint})}generateSync(e,r={}){let t=this.context.resolveEndpointLocationOrThrow(e.endpoint);if(t.length===0)throw new Error(`No endpoints found that match "${e.endpoint.method} ${e.endpoint.path}"`);let n=new y;for(let i of t){let s=this.context.clone(),d=this.createSnippetGenerator(s);try{let u=d.generateSnippetSync({endpoint:i,request:e,options:r});if(s.errors.empty())return{snippet:u,errors:void 0};n.update({context:s,snippet:u})}catch(u){n.err==null&&(n.err=u)}}return n.getResponseOrThrow({endpoint:e.endpoint})}};o();a();var p={Critical:"CRITICAL",Warning:"WARNING"},g=class c{constructor(){l(this,"errors");l(this,"path");this.errors=[],this.path=[]}add(e){this.errors.push(S(T({},e),{path:[...this.path]}))}scope(e){this.path.push(e)}unscope(){this.path.pop()}getBySeverity(e){return this.errors.filter(r=>r.severity===e)}empty(){return this.errors.length===0}size(){return this.errors.length}clone(){let e=new c;return e.errors=[...this.errors],e.path=[...this.path],e}reset(){this.errors=[],this.path=[]}toDynamicSnippetErrors(){return this.errors.map(e=>({severity:e.severity,path:e.path!=null?this.pathToStringArray(e.path):void 0,message:e.message}))}pathToStringArray(e){let r=[];for(let t of e){if(typeof t=="string"){r.push(t);continue}r[r.length-1]+=`[${t.index}]`}return r}};o();a();o();a();o();a();var v=class{constructor(){l(this,"REFERENCE_REGEX",/^(GET|POST|PUT|DELETE|PATCH)\s(\/[a-zA-Z0-9\/{}_-]*)$/)}validate(e){return this.REFERENCE_REGEX.test(e)?{type:"valid"}:{type:"invalid"}}tryParse(e){if(this.validate(e).type==="invalid")return;let t=e.match(this.REFERENCE_REGEX);if(!(t==null||t[1]==null||t[2]==null))return{method:t[1],path:t[2]}}};var w=class{constructor({ir:e,config:r,options:t={}}){l(this,"config");l(this,"options");l(this,"errors");l(this,"_ir");l(this,"httpEndpointReferenceParser");this._ir=e,this.config=r,this.options=t,this.errors=new g,this.httpEndpointReferenceParser=new v}associateQueryParametersByWireValue({parameters:e,values:r}){let t=[];for(let[n,i]of Object.entries(r)){this.errors.scope(n);try{let s=e.find(u=>u.name.wireValue===n);if(s==null)throw this.newParameterNotRecognizedError(n);let d=this.isListTypeReference(s.typeReference)&&!Array.isArray(i)?[i]:i;t.push({name:s.name,typeReference:s.typeReference,value:d})}finally{this.errors.unscope()}}return t}associateByWireValue({parameters:e,values:r,ignoreMissingParameters:t}){let n=[];for(let[i,s]of Object.entries(r)){this.errors.scope(i);try{let d=e.find(u=>u.name.wireValue===i);if(d==null){if(t)continue;this.errors.add({severity:p.Critical,message:this.newParameterNotRecognizedError(i).message});continue}n.push({name:d.name,typeReference:d.typeReference,value:s})}finally{this.errors.unscope()}}return n}getSingleFileValue({property:e,record:r}){let t=r[e.wireValue];if(t!=null){if(typeof t!="string"){this.errors.add({severity:p.Critical,message:`Expected file value to be a string, got ${typeof t}`});return}return t}}getFileArrayValues({property:e,record:r}){let t=r[e.wireValue];if(t==null)return;if(!Array.isArray(t)){this.errors.add({severity:p.Critical,message:`Expected file array value to be an array of strings, got ${typeof t}`});return}let n=[];for(let i of t){if(typeof i!="string"){this.errors.add({severity:p.Critical,message:`Expected file array value to be an array of strings, got ${typeof i}`});return}n.push(i)}return n}getRecord(e){if(typeof e!="object"||Array.isArray(e)){this.errors.add({severity:p.Critical,message:`Expected object with key, value pairs but got: ${Array.isArray(e)?"array":typeof e}`});return}return e==null?{}:e}resolveNamedType({typeId:e}){let r=this._ir.types[e];if(r==null){this.errors.add({severity:p.Critical,message:`Type identified by "${e}" could not be found`});return}return r}resolveDiscriminatedUnionTypeInstance({discriminatedUnion:e,value:r}){let t=this.getRecord(r);if(t==null)return;let n=e.discriminant.wireValue,i=t[n];if(i==null){this.errors.add({severity:p.Critical,message:this.newParameterNotRecognizedError(n).message});return}if(typeof i!="string"){this.errors.add({severity:p.Critical,message:`Expected discriminant value to be a string but got: ${typeof i}`});return}let s=e.types[i];if(s==null){this.errors.add({severity:p.Critical,message:`No type found for discriminant value "${i}"`});return}let P=t,{[n]:d}=P,u=A(P,[b(n)]);return{singleDiscriminatedUnionType:s,discriminantValue:s.discriminantValue,value:u}}resolveEndpointOrThrow(e){let r=this.httpEndpointReferenceParser.tryParse(e);if(r==null)throw new Error(`Failed to parse endpoint reference "${e}"`);return this.resolveEndpointLocationOrThrow(r)}resolveEndpointLocationOrThrow(e){let r=[];for(let t of Object.values(this._ir.endpoints))this.parsedEndpointMatches({endpoint:t,parsedEndpoint:e})&&r.push(t);if(r.length===0)throw new Error(`Failed to find endpoint identified by "${e.method} ${e.path}"`);return r}needsRequestParameter({request:e,inlinePathParameters:r,inlineFileProperties:t}){var n;return this.includePathParametersInWrappedRequest({request:e,inlinePathParameters:r})||e.queryParameters!=null&&e.queryParameters.length>0||e.headers!=null&&e.headers.length>0?!0:e.body!=null?this.includeRequestBodyInWrappedRequest({body:e.body,inlineFileProperties:t}):!((n=e.metadata)!=null&&n.onlyPathParameters)}includePathParametersInWrappedRequest({request:e,inlinePathParameters:r}){var t,n;return r&&((n=(t=e.metadata)==null?void 0:t.includePathParameters)!=null?n:!1)}isFileUploadRequestBody(e){switch(e.type){case"fileUpload":return!0;case"properties":case"referenced":return!1;default:m(e)}}resolveEnvironmentName(e){if(this._ir.environments==null)return;let r=this._ir.environments.environments;switch(r.type){case"singleBaseUrl":{let t=r.environments.find(n=>n.id===e);return t==null?void 0:t.name}case"multipleBaseUrls":{let t=r.environments.find(n=>n.id===e);return t==null?void 0:t.name}default:m(r)}}isSingleEnvironmentID(e){return typeof e=="string"}isMultiEnvironmentValues(e){return typeof e=="object"}validateMultiEnvironmentUrlValues(e){if(this._ir.environments==null)return this.errors.add({severity:p.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;let r=this._ir.environments.environments;switch(r.type){case"singleBaseUrl":return this.errors.add({severity:p.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;case"multipleBaseUrls":{let t=r.environments[0];if(t==null)return this.errors.add({severity:p.Critical,message:"Multiple environments are not supported; use the baseUrl option instead"}),!1;let n=new Set(E(t.urls));for(let i of E(e))n.has(i)&&n.delete(i);return n.size>0?(this.errors.add({severity:p.Critical,message:`The provided environments are invalid; got: [${Object.keys(e).join(", ")}], expected: [${E(t.urls).join(", ")}]`}),!1):!0}}}getValueAsNumber({value:e}){if(typeof e!="number"){this.errors.add({severity:p.Critical,message:this.newTypeMismatchError({expected:"number",value:e}).message});return}return e}getValueAsBoolean({value:e}){if(typeof e!="boolean"){this.errors.add({severity:p.Critical,message:this.newTypeMismatchError({expected:"boolean",value:e}).message});return}return e}getValueAsString({value:e}){if(typeof e!="string"){this.errors.add({severity:p.Critical,message:this.newTypeMismatchError({expected:"string",value:e}).message});return}return e}isOptional(e){switch(e.type){case"nullable":return this.isOptional(e.value);case"optional":return!0;case"named":{let r=this.resolveNamedType({typeId:e.value});return r==null?!1:r.type==="alias"?this.isNullable(r.typeReference):!1}}return!1}isNullable(e){switch(e.type){case"nullable":return!0;case"optional":return this.isNullable(e.value);case"named":{let r=this.resolveNamedType({typeId:e.value});return r==null?!1:r.type==="alias"?this.isNullable(r.typeReference):!1}}return!1}newAuthMismatchError({auth:e,values:r}){return new Error(`Expected auth type ${e.type}, got ${r.type}`)}newParameterNotRecognizedError(e){return new Error(`"${e}" is not a recognized parameter for this endpoint`)}newTypeMismatchError({expected:e,value:r}){return new Error(`Expected ${e}, got ${typeof r}`)}includeRequestBodyInWrappedRequest({body:e,inlineFileProperties:r}){switch(e.type){case"properties":case"referenced":return!0;case"fileUpload":return this.includeFileUploadBodyInWrappedRequest({fileUpload:e,inlineFileProperties:r});default:m(e)}}includeFileUploadBodyInWrappedRequest({fileUpload:e,inlineFileProperties:r}){return this.fileUploadHasBodyProperties({fileUpload:e})||r&&this.fileUploadHasFileProperties({fileUpload:e})}fileUploadHasBodyProperties({fileUpload:e}){return e.properties.some(r=>{switch(r.type){case"file":case"fileArray":return!1;case"bodyProperty":return!0;default:m(r)}})}fileUploadHasFileProperties({fileUpload:e}){return e.properties.some(r=>{switch(r.type){case"file":case"fileArray":return!0;case"bodyProperty":return!1;default:m(r)}})}isListTypeReference(e){return e.type==="optional"?this.isListTypeReference(e.value):e.type==="list"||e.type==="set"}parsedEndpointMatches({endpoint:e,parsedEndpoint:r}){return e.location.method===r.method&&e.location.path===r.path}};o();a();var x;(function(c){c.Concise="concise",c.Full="full"})(x||(x={}));o();a();var C={PathParameters:"pathParameters",QueryParameters:"queryParameters",Headers:"headers",RequestBody:"requestBody"};o();a();export{R as a,p as b,w as c,x as d,C as e};