@fern-api/ruby-dynamic-snippets 0.0.5 → 1.0.0-rc59

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 (32) hide show
  1. package/cjs/DynamicSnippetsGenerator.cjs +8 -8
  2. package/cjs/DynamicSnippetsGenerator.cjs.map +1 -1
  3. package/cjs/EndpointSnippetGenerator.cjs +9 -9
  4. package/cjs/EndpointSnippetGenerator.cjs.map +1 -1
  5. package/cjs/EndpointSnippetGenerator.d.cts +8 -0
  6. package/cjs/context/DynamicSnippetsGeneratorContext.cjs +8 -8
  7. package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -1
  8. package/cjs/context/DynamicToLiteralMapper.cjs +8 -8
  9. package/cjs/context/DynamicToLiteralMapper.cjs.map +1 -1
  10. package/cjs/index.cjs +8 -8
  11. package/cjs/index.cjs.map +1 -1
  12. package/esm/DynamicSnippetsGenerator.js +1 -1
  13. package/esm/EndpointSnippetGenerator.d.ts +8 -0
  14. package/esm/EndpointSnippetGenerator.js +1 -1
  15. package/esm/{chunk-CUHUKCRC.js → chunk-E7XDZIKI.js} +2 -2
  16. package/esm/{chunk-24Z62MLO.js → chunk-FWYXQB4R.js} +2 -2
  17. package/esm/chunk-NB75HQID.js +2 -0
  18. package/esm/chunk-NB75HQID.js.map +1 -0
  19. package/esm/{chunk-CWYMFRFT.js → chunk-SWWYKNFW.js} +2 -2
  20. package/esm/chunk-TGWLAKQC.js +34 -0
  21. package/esm/chunk-TGWLAKQC.js.map +1 -0
  22. package/esm/context/DynamicSnippetsGeneratorContext.js +1 -1
  23. package/esm/context/DynamicToLiteralMapper.js +1 -1
  24. package/esm/index.js +1 -1
  25. package/package.json +1 -1
  26. package/esm/chunk-AGVSP2TB.js +0 -2
  27. package/esm/chunk-AGVSP2TB.js.map +0 -1
  28. package/esm/chunk-SFFHNMMU.js +0 -34
  29. package/esm/chunk-SFFHNMMU.js.map +0 -1
  30. /package/esm/{chunk-CUHUKCRC.js.map → chunk-E7XDZIKI.js.map} +0 -0
  31. /package/esm/{chunk-24Z62MLO.js.map → chunk-FWYXQB4R.js.map} +0 -0
  32. /package/esm/{chunk-CWYMFRFT.js.map → chunk-SWWYKNFW.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-CUHUKCRC.js";import"./chunk-AGVSP2TB.js";import"./chunk-24Z62MLO.js";import"./chunk-CWYMFRFT.js";import"./chunk-SFFHNMMU.js";export{a as DynamicSnippetsGenerator};
1
+ import{a}from"./chunk-E7XDZIKI.js";import"./chunk-NB75HQID.js";import"./chunk-FWYXQB4R.js";import"./chunk-SWWYKNFW.js";import"./chunk-TGWLAKQC.js";export{a as DynamicSnippetsGenerator};
2
2
  //# sourceMappingURL=DynamicSnippetsGenerator.js.map
@@ -36,10 +36,18 @@ declare class EndpointSnippetGenerator {
36
36
  private getRootClientHeaderArgs;
37
37
  private getRootClientBuilderArgs;
38
38
  private callMethod;
39
+ /**
40
+ * Builds request_options from snippet headers for per-request options.
41
+ * This is used when generating snippets for wire tests where headers like X-Test-Id
42
+ * should be passed as request_options[:additional_headers] rather than as method parameters.
43
+ * Only includes headers that are NOT already mapped to the request directly (i.e., not defined in the IR).
44
+ */
45
+ private getRequestOptions;
39
46
  private getMethodArgsForInlinedRequest;
40
47
  private getNamedParameterArgs;
41
48
  private getMethodArgsForPropertiesRequest;
42
49
  private getMethodArgsForBodyRequest;
50
+ private getBodyFieldsAsKeywordArgs;
43
51
  private getMethod;
44
52
  }
45
53
 
@@ -1,2 +1,2 @@
1
- import{a}from"./chunk-AGVSP2TB.js";import"./chunk-SFFHNMMU.js";export{a as EndpointSnippetGenerator};
1
+ import{a}from"./chunk-NB75HQID.js";import"./chunk-TGWLAKQC.js";export{a as EndpointSnippetGenerator};
2
2
  //# sourceMappingURL=EndpointSnippetGenerator.js.map
@@ -1,2 +1,2 @@
1
- import{a as o}from"./chunk-AGVSP2TB.js";import{a as i}from"./chunk-24Z62MLO.js";import{a as t,b as r,c as n,e as p}from"./chunk-SFFHNMMU.js";r();n();var a=class extends p{constructor({ir:e,config:s,formatter:c}){super(new i({ir:e,config:s}));t(this,"formatter");this.formatter=c}async generate(e){return super.generate(e)}generateSync(e){return super.generateSync(e)}async generateSnippetAst(e){return super.generateSnippetAst(e)}createSnippetGenerator(e){return new o({context:e,formatter:this.formatter})}};export{a};
2
- //# sourceMappingURL=chunk-CUHUKCRC.js.map
1
+ import{a as o}from"./chunk-NB75HQID.js";import{a as i}from"./chunk-FWYXQB4R.js";import{a as t,b as r,c as n,e as p}from"./chunk-TGWLAKQC.js";r();n();var a=class extends p{constructor({ir:e,config:s,formatter:c}){super(new i({ir:e,config:s}));t(this,"formatter");this.formatter=c}async generate(e){return super.generate(e)}generateSync(e){return super.generateSync(e)}async generateSnippetAst(e){return super.generateSnippetAst(e)}createSnippetGenerator(e){return new o({context:e,formatter:this.formatter})}};export{a};
2
+ //# sourceMappingURL=chunk-E7XDZIKI.js.map
@@ -1,4 +1,4 @@
1
- import{a as h}from"./chunk-CWYMFRFT.js";import{a as d,b as r,c as o,g as b,h as i}from"./chunk-SFFHNMMU.js";r();o();r();o();r();o();r();o();r();o();r();o();r();o();var Y=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis,S=Y;var Q=typeof self=="object"&&self&&self.Object===Object&&self,X=S||Q||Function("return this")(),v=X;var $=v.Symbol,p=$;r();o();var R=Object.prototype,_=R.hasOwnProperty,ee=R.toString,m=p?p.toStringTag:void 0;function te(e){var a=_.call(e,m),t=e[m];try{e[m]=void 0;var f=!0}catch(x){}var l=ee.call(e);return f&&(a?e[m]=t:delete e[m]),l}var C=te;r();o();var re=Object.prototype,oe=re.toString;function ae(e){return oe.call(e)}var I=ae;var fe="[object Null]",se="[object Undefined]",N=p?p.toStringTag:void 0;function ue(e){return e==null?e===void 0?se:fe:N&&N in Object(e)?C(e):I(e)}var A=ue;r();o();function le(e){return e!=null&&typeof e=="object"}var T=le;var pe="[object Symbol]";function me(e){return typeof e=="symbol"||T(e)&&A(e)==pe}var j=me;r();o();r();o();function de(e,a){for(var t=-1,f=e==null?0:e.length,l=Array(f);++t<f;)l[t]=a(e[t],t,e);return l}var O=de;r();o();var ie=Array.isArray,w=ie;var ne=1/0,k=p?p.prototype:void 0,E=k?k.toString:void 0;function W(e){if(typeof e=="string")return e;if(w(e))return O(e,W)+"";if(j(e))return E?E.call(e):"";var a=e+"";return a=="0"&&1/e==-ne?"-0":a}var B=W;r();o();function xe(e){return e==null?"":B(e)}var M=xe;r();o();r();o();r();o();r();o();function ce(e,a,t){var f=-1,l=e.length;a<0&&(a=-a>l?0:l+a),t=t>l?l:t,t<0&&(t+=l),l=a>t?0:t-a>>>0,a>>>=0;for(var x=Array(l);++f<l;)x[f]=e[f+a];return x}var F=ce;function ge(e,a,t){var f=e.length;return t=t===void 0?f:t,!a&&t>=f?e:F(e,a,t)}var L=ge;r();o();var ye="\\ud800-\\udfff",be="\\u0300-\\u036f",he="\\ufe20-\\ufe2f",Se="\\u20d0-\\u20ff",ve=be+he+Se,Re="\\ufe0e\\ufe0f",Ce="\\u200d",Ie=RegExp("["+Ce+ye+ve+Re+"]");function Ne(e){return Ie.test(e)}var n=Ne;r();o();r();o();function Ae(e){return e.split("")}var D=Ae;r();o();var P="\\ud800-\\udfff",Te="\\u0300-\\u036f",je="\\ufe20-\\ufe2f",Oe="\\u20d0-\\u20ff",we=Te+je+Oe,ke="\\ufe0e\\ufe0f",Ee="["+P+"]",c="["+we+"]",g="\\ud83c[\\udffb-\\udfff]",We="(?:"+c+"|"+g+")",z="[^"+P+"]",U="(?:\\ud83c[\\udde6-\\uddff]){2}",q="[\\ud800-\\udbff][\\udc00-\\udfff]",Be="\\u200d",V=We+"?",G="["+ke+"]?",Me="(?:"+Be+"(?:"+[z,U,q].join("|")+")"+G+V+")*",Fe=G+V+Me,Le="(?:"+[z+c+"?",c,U,q,Ee].join("|")+")",De=RegExp(g+"(?="+g+")|"+Le+Fe,"g");function Pe(e){return e.match(De)||[]}var J=Pe;function ze(e){return n(e)?J(e):D(e)}var K=ze;function Ue(e){return function(a){a=M(a);var t=n(a)?K(a):void 0,f=t?t[0]:a.charAt(0),l=t?L(t,1).join(""):a.slice(1);return f[e]()+l}}var H=Ue;var qe=H("toUpperCase"),y=qe;var Z=class e extends b{constructor({ir:t,config:f}){super({ir:t,config:f});d(this,"ir");d(this,"customConfig");d(this,"dynamicTypeLiteralMapper");this.ir=t,this.customConfig=f.customConfig!=null?f.customConfig:void 0,this.dynamicTypeLiteralMapper=new h({context:this})}clone(){return new e({ir:this.ir,config:this.config})}getRootClientClassReference(){return i.classReference({name:this.getRootClientClassName(),modules:[this.getRootModuleName()]})}getRootClientClassName(){return"Client"}getRootModuleName(){var t,f;return y((f=(t=this.customConfig)==null?void 0:t.clientModuleName)!=null?f:this.config.organization)}isSingleEnvironmentID(t){return typeof t=="string"}isMultiEnvironmentValues(t){return typeof t=="object"}getEnvironmentTypeReferenceFromID(t){let f=this.resolveEnvironmentName(t);if(f!=null)return i.codeblock(l=>{l.writeNode(this.getEnvironmentClassReference()),l.write("::"),l.write(this.getEnumName(f))})}getEnvironmentClassReference(){return i.classReference({name:"Environment",modules:[this.getRootModuleName()]})}getEnumName(t){return this.getName(t.screamingSnakeCase.safeName)}getMethodName(t){return this.getName(t.snakeCase.safeName)}getPropertyName(t){return this.getName(t.snakeCase.safeName)}getName(t){return t}};export{Z as a};
1
+ import{a as h}from"./chunk-SWWYKNFW.js";import{a as d,b as r,c as o,g as b,h as i}from"./chunk-TGWLAKQC.js";r();o();r();o();r();o();r();o();r();o();r();o();r();o();var Y=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis,S=Y;var Q=typeof self=="object"&&self&&self.Object===Object&&self,X=S||Q||Function("return this")(),v=X;var $=v.Symbol,p=$;r();o();var R=Object.prototype,_=R.hasOwnProperty,ee=R.toString,m=p?p.toStringTag:void 0;function te(e){var a=_.call(e,m),t=e[m];try{e[m]=void 0;var f=!0}catch(x){}var l=ee.call(e);return f&&(a?e[m]=t:delete e[m]),l}var C=te;r();o();var re=Object.prototype,oe=re.toString;function ae(e){return oe.call(e)}var I=ae;var fe="[object Null]",se="[object Undefined]",N=p?p.toStringTag:void 0;function ue(e){return e==null?e===void 0?se:fe:N&&N in Object(e)?C(e):I(e)}var A=ue;r();o();function le(e){return e!=null&&typeof e=="object"}var T=le;var pe="[object Symbol]";function me(e){return typeof e=="symbol"||T(e)&&A(e)==pe}var j=me;r();o();r();o();function de(e,a){for(var t=-1,f=e==null?0:e.length,l=Array(f);++t<f;)l[t]=a(e[t],t,e);return l}var O=de;r();o();var ie=Array.isArray,w=ie;var ne=1/0,k=p?p.prototype:void 0,E=k?k.toString:void 0;function W(e){if(typeof e=="string")return e;if(w(e))return O(e,W)+"";if(j(e))return E?E.call(e):"";var a=e+"";return a=="0"&&1/e==-ne?"-0":a}var B=W;r();o();function xe(e){return e==null?"":B(e)}var M=xe;r();o();r();o();r();o();r();o();function ce(e,a,t){var f=-1,l=e.length;a<0&&(a=-a>l?0:l+a),t=t>l?l:t,t<0&&(t+=l),l=a>t?0:t-a>>>0,a>>>=0;for(var x=Array(l);++f<l;)x[f]=e[f+a];return x}var F=ce;function ge(e,a,t){var f=e.length;return t=t===void 0?f:t,!a&&t>=f?e:F(e,a,t)}var L=ge;r();o();var ye="\\ud800-\\udfff",be="\\u0300-\\u036f",he="\\ufe20-\\ufe2f",Se="\\u20d0-\\u20ff",ve=be+he+Se,Re="\\ufe0e\\ufe0f",Ce="\\u200d",Ie=RegExp("["+Ce+ye+ve+Re+"]");function Ne(e){return Ie.test(e)}var n=Ne;r();o();r();o();function Ae(e){return e.split("")}var D=Ae;r();o();var P="\\ud800-\\udfff",Te="\\u0300-\\u036f",je="\\ufe20-\\ufe2f",Oe="\\u20d0-\\u20ff",we=Te+je+Oe,ke="\\ufe0e\\ufe0f",Ee="["+P+"]",c="["+we+"]",g="\\ud83c[\\udffb-\\udfff]",We="(?:"+c+"|"+g+")",z="[^"+P+"]",U="(?:\\ud83c[\\udde6-\\uddff]){2}",q="[\\ud800-\\udbff][\\udc00-\\udfff]",Be="\\u200d",V=We+"?",G="["+ke+"]?",Me="(?:"+Be+"(?:"+[z,U,q].join("|")+")"+G+V+")*",Fe=G+V+Me,Le="(?:"+[z+c+"?",c,U,q,Ee].join("|")+")",De=RegExp(g+"(?="+g+")|"+Le+Fe,"g");function Pe(e){return e.match(De)||[]}var J=Pe;function ze(e){return n(e)?J(e):D(e)}var K=ze;function Ue(e){return function(a){a=M(a);var t=n(a)?K(a):void 0,f=t?t[0]:a.charAt(0),l=t?L(t,1).join(""):a.slice(1);return f[e]()+l}}var H=Ue;var qe=H("toUpperCase"),y=qe;var Z=class e extends b{constructor({ir:t,config:f}){super({ir:t,config:f});d(this,"ir");d(this,"customConfig");d(this,"dynamicTypeLiteralMapper");this.ir=t,this.customConfig=f.customConfig!=null?f.customConfig:void 0,this.dynamicTypeLiteralMapper=new h({context:this})}clone(){return new e({ir:this.ir,config:this.config})}getRootClientClassReference(){return i.classReference({name:this.getRootClientClassName(),modules:[this.getRootModuleName()]})}getRootClientClassName(){return"Client"}getRootModuleName(){var t,f;return y((f=(t=this.customConfig)==null?void 0:t.clientModuleName)!=null?f:this.config.organization)}isSingleEnvironmentID(t){return typeof t=="string"}isMultiEnvironmentValues(t){return typeof t=="object"}getEnvironmentTypeReferenceFromID(t){let f=this.resolveEnvironmentName(t);if(f!=null)return i.codeblock(l=>{l.writeNode(this.getEnvironmentClassReference()),l.write("::"),l.write(this.getEnumName(f))})}getEnvironmentClassReference(){return i.classReference({name:"Environment",modules:[this.getRootModuleName()]})}getEnumName(t){return this.getName(t.screamingSnakeCase.safeName)}getMethodName(t){return this.getName(t.snakeCase.safeName)}getPropertyName(t){return this.getName(t.snakeCase.safeName)}getName(t){return t}};export{Z as a};
2
2
  /*! Bundled license information:
3
3
 
4
4
  lodash-es/lodash.js:
@@ -12,4 +12,4 @@ lodash-es/lodash.js:
12
12
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13
13
  *)
14
14
  */
15
- //# sourceMappingURL=chunk-24Z62MLO.js.map
15
+ //# sourceMappingURL=chunk-FWYXQB4R.js.map
@@ -0,0 +1,2 @@
1
+ import{a as c,b as p,c as l,d as u,f as m,h as n}from"./chunk-TGWLAKQC.js";p();l();var g="client",h=class{constructor({context:e,formatter:t}){c(this,"context");c(this,"formatter");this.context=e,this.formatter=t}async generateSnippet({endpoint:e,request:t}){var a;return await this.buildCodeBlock({endpoint:e,snippet:t}).toStringAsync({customConfig:(a=this.context.customConfig)!=null?a:{},formatter:this.formatter})}generateSnippetSync({endpoint:e,request:t}){var a;return this.buildCodeBlock({endpoint:e,snippet:t}).toString({customConfig:(a=this.context.customConfig)!=null?a:{},formatter:this.formatter})}async generateSnippetAst({endpoint:e,request:t,options:r}){return this.buildCodeBlock({endpoint:e,snippet:t})}buildCodeBlock({endpoint:e,snippet:t}){return n.codeblock(r=>{r.writeNodeStatement(this.constructClient({endpoint:e,snippet:t})),r.newLine(),r.writeNodeStatement(this.callMethod({endpoint:e,snippet:t}))})}constructClient({endpoint:e,snippet:t}){return n.codeblock(r=>{r.addRequire(this.context.getRootModuleName().toLowerCase());let a=this.context.getRootClientClassReference(),s=this.getRootClientBuilderArgs({endpoint:e,snippet:t});r.write(`${g} = `),r.writeNode(n.instantiateClass({classReference:a,arguments_:s}))})}getRootClientBaseUrlArg({baseUrl:e,environment:t}){if(e!=null&&t!=null)return this.context.errors.add({severity:"CRITICAL",message:"Cannot specify both baseUrl and environment options"}),[];if(e!=null)return[n.keywordArgument({name:"base_url",value:n.TypeLiteral.string(e)})];if(t!=null){if(this.context.isSingleEnvironmentID(t)){let r=this.context.getEnvironmentTypeReferenceFromID(t);return r==null?(this.context.errors.add({severity:"CRITICAL",message:`Environment ID ${t} not found`}),[]):[n.keywordArgument({name:"environment",value:r})]}if(this.context.isMultiEnvironmentValues(t))return this.context.errors.add({severity:"CRITICAL",message:"Multi-environment values are not supported in Ruby snippets yet"}),[]}return[]}getRootClientAuthArgs({auth:e,values:t}){if(t.type!==e.type)return this.addError(this.context.newAuthMismatchError({auth:e,values:t}).message),[];switch(e.type){case"basic":return t.type==="basic"?this.getRootClientBasicAuthArgs({auth:e,values:t}):[];case"bearer":return t.type==="bearer"?this.getRootClientBearerAuthArgs({auth:e,values:t}):[];case"header":return t.type==="header"?this.getRootClientHeaderAuthArgs({auth:e,values:t}):[];case"oauth":return t.type==="oauth"?this.getRootClientOAuthArgs({auth:e,values:t}):[];case"inferred":return[];default:u(e)}}addError(e){this.context.errors.add({severity:m.Critical,message:e})}addWarning(e){this.context.errors.add({severity:m.Warning,message:e})}getRootClientBasicAuthArgs({auth:e,values:t}){return[n.keywordArgument({name:e.username.snakeCase.safeName,value:n.TypeLiteral.string(t.username)}),n.keywordArgument({name:e.password.snakeCase.safeName,value:n.TypeLiteral.string(t.password)})]}getRootClientBearerAuthArgs({auth:e,values:t}){return[n.keywordArgument({name:e.token.snakeCase.safeName,value:n.TypeLiteral.string(t.token)})]}getRootClientHeaderAuthArgs({auth:e,values:t}){return[n.keywordArgument({name:e.header.name.name.snakeCase.safeName,value:n.TypeLiteral.string(t.value)})]}getRootClientOAuthArgs({auth:e,values:t}){return[n.keywordArgument({name:e.clientId.snakeCase.safeName,value:n.TypeLiteral.string(t.clientId)}),n.keywordArgument({name:e.clientSecret.snakeCase.safeName,value:n.TypeLiteral.string(t.clientSecret)})]}getRootClientHeaderArgs({headers:e,values:t}){let r=[];for(let a of e){let s=t[a.name.name.originalName];s!=null&&typeof s=="string"&&r.push(n.keywordArgument({name:a.name.name.snakeCase.safeName,value:n.TypeLiteral.string(s)}))}return r}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:"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.length>0&&r.push(...a),this.context.errors.scope("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}callMethod({endpoint:e,snippet:t}){var s;let r={on:n.codeblock(g),method:this.getMethod({endpoint:e}),arguments_:[]};switch(e.request.type){case"inlined":r.keywordArguments=this.getMethodArgsForInlinedRequest({request:e.request,snippet:t});break;case"body":r.keywordArguments=this.getMethodArgsForBodyRequest({request:e.request,snippet:t});break;default:u(e.request)}let a=this.getRequestOptions({endpoint:e,snippet:t});return a!=null&&(r.keywordArguments=(s=r.keywordArguments)!=null?s:[],r.keywordArguments.push(a)),n.invokeMethod(r)}getRequestOptions({endpoint:e,snippet:t}){var y;let r=(y=t.headers)!=null?y:{},a=Object.entries(r);if(a.length===0)return;let s=new Set;if(this.context.ir.headers!=null)for(let d of this.context.ir.headers)s.add(d.name.wireValue.toLowerCase());if(e.request.type==="inlined"&&e.request.headers!=null)for(let d of e.request.headers)s.add(d.name.wireValue.toLowerCase());let i=a.filter(([d])=>!s.has(d.toLowerCase()));if(i.length===0)return;let o=i.map(([d,A])=>({key:n.TypeLiteral.string(d),value:n.TypeLiteral.string(String(A))}));return n.keywordArgument({name:"request_options",value:n.TypeLiteral.hash([{key:n.TypeLiteral.string("additional_headers"),value:n.TypeLiteral.hash(o)}])})}getMethodArgsForInlinedRequest({request:e,snippet:t}){let r=[];if(r.push(...this.getNamedParameterArgs({kind:"PathParameters",namedParameters:e.pathParameters,values:t.pathParameters})),r.push(...this.getNamedParameterArgs({kind:"QueryParameters",namedParameters:e.queryParameters,values:t.queryParameters})),r.push(...this.getNamedParameterArgs({kind:"Headers",namedParameters:e.headers,values:t.headers})),e.body!=null)switch(e.body.type){case"properties":r.push(...this.getMethodArgsForPropertiesRequest({request:e.body,snippet:t}));break;case"referenced":case"fileUpload":break;default:u(e.body)}return r}getNamedParameterArgs({kind:e,namedParameters:t,values:r}){let a=[];if(this.context.errors.scope(e),t!=null){let s=this.context.associateByWireValue({parameters:t,values:r!=null?r:{},ignoreMissingParameters:!0});for(let i of s){let o=this.context.dynamicTypeLiteralMapper.convert(i);n.TypeLiteral.isNop(o)||a.push(n.keywordArgument({name:this.context.getPropertyName(i.name.name),value:o}))}}return this.context.errors.unscope(),a}getMethodArgsForPropertiesRequest({request:e,snippet:t}){var s;let r=[],a=this.context.associateByWireValue({parameters:e.value,values:(s=this.context.getRecord(t.requestBody))!=null?s:{}});for(let i of a){let o=this.context.dynamicTypeLiteralMapper.convert(i);n.TypeLiteral.isNop(o)||r.push(n.keywordArgument({name:this.context.getPropertyName(i.name.name),value:o}))}return r}getMethodArgsForBodyRequest({request:e,snippet:t}){let r=[];if(r.push(...this.getNamedParameterArgs({kind:"PathParameters",namedParameters:e.pathParameters,values:t.pathParameters})),e.body!=null)switch(e.body.type){case"bytes":this.context.errors.add({severity:"CRITICAL",message:"Bytes request body is not supported in Ruby snippets yet"});break;case"typeReference":{let a=this.context.getRecord(t.requestBody);if(a!=null){let s=e.body.value;if(s.type==="named"){let i=this.context.resolveNamedType({typeId:s.value});if(i!=null){let o=this.getBodyFieldsAsKeywordArgs({namedType:i,bodyRecord:a});r.push(...o)}}}break}default:u(e.body)}return r}getBodyFieldsAsKeywordArgs({namedType:e,bodyRecord:t}){let r=[];switch(e.type){case"object":{for(let a of e.properties){let s=a.name.wireValue,i=t[s];if(i!==void 0){this.context.errors.scope(s);let o=this.context.dynamicTypeLiteralMapper.convert({typeReference:a.typeReference,value:i});this.context.errors.unscope(),n.TypeLiteral.isNop(o)||r.push(n.keywordArgument({name:this.context.getPropertyName(a.name.name),value:o}))}}break}case"alias":case"discriminatedUnion":case"undiscriminatedUnion":case"enum":break;default:u(e)}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)}};export{h as a};
2
+ //# sourceMappingURL=chunk-NB75HQID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/EndpointSnippetGenerator.ts"],"sourcesContent":["import { AbstractFormatter, Options, Severity } from \"@fern-api/browser-compatible-base-generator\";\nimport { assertNever } from \"@fern-api/core-utils\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { ruby } from \"@fern-api/ruby-ast\";\n\nimport { DynamicSnippetsGeneratorContext } from \"./context/DynamicSnippetsGeneratorContext\";\n\nconst CLIENT_VAR_NAME = \"client\";\n\nexport class EndpointSnippetGenerator {\n private context: DynamicSnippetsGeneratorContext;\n private formatter: AbstractFormatter | undefined;\n\n constructor({ context, formatter }: { context: DynamicSnippetsGeneratorContext; formatter?: AbstractFormatter }) {\n this.context = context;\n this.formatter = formatter;\n }\n\n public async generateSnippet({\n endpoint,\n request\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n }): Promise<string> {\n const code = this.buildCodeBlock({ endpoint, snippet: request });\n return await code.toStringAsync({\n customConfig: this.context.customConfig ?? {},\n formatter: this.formatter\n });\n }\n\n public generateSnippetSync({\n endpoint,\n request\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n }): string {\n const code = this.buildCodeBlock({ endpoint, snippet: request });\n return code.toString({\n customConfig: this.context.customConfig ?? {},\n formatter: this.formatter\n });\n }\n\n public async generateSnippetAst({\n endpoint,\n request,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n options?: Options;\n }): Promise<ruby.AstNode> {\n return this.buildCodeBlock({ endpoint, snippet: request });\n }\n\n private buildCodeBlock({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.AstNode {\n // In Ruby, concise and full styles are the same\n return ruby.codeblock((writer) => {\n writer.writeNodeStatement(this.constructClient({ endpoint, snippet }));\n writer.newLine();\n writer.writeNodeStatement(this.callMethod({ endpoint, snippet }));\n });\n }\n\n private constructClient({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.AstNode {\n return ruby.codeblock((writer) => {\n writer.addRequire(this.context.getRootModuleName().toLowerCase());\n\n const clientClassRef = this.context.getRootClientClassReference();\n const builderArgs = this.getRootClientBuilderArgs({ endpoint, snippet });\n\n writer.write(`${CLIENT_VAR_NAME} = `);\n writer.writeNode(\n ruby.instantiateClass({\n classReference: clientClassRef,\n arguments_: builderArgs\n })\n );\n });\n }\n\n // Helper for base URL/environment argument\n private getRootClientBaseUrlArg({\n baseUrl,\n environment\n }: {\n baseUrl: string | undefined;\n environment: FernIr.dynamic.EnvironmentValues | undefined;\n }): ruby.KeywordArgument[] {\n if (baseUrl != null && environment != null) {\n this.context.errors.add({\n severity: \"CRITICAL\",\n message: \"Cannot specify both baseUrl and environment options\"\n });\n return [];\n }\n if (baseUrl != null) {\n return [\n ruby.keywordArgument({\n name: \"base_url\",\n value: ruby.TypeLiteral.string(baseUrl)\n })\n ];\n }\n if (environment != null) {\n if (this.context.isSingleEnvironmentID(environment)) {\n const environmentTypeReference = this.context.getEnvironmentTypeReferenceFromID(environment);\n if (environmentTypeReference == null) {\n this.context.errors.add({\n severity: \"CRITICAL\",\n message: `Environment ID ${environment} not found`\n });\n return [];\n }\n\n return [\n ruby.keywordArgument({\n name: \"environment\",\n value: environmentTypeReference\n })\n ];\n }\n if (this.context.isMultiEnvironmentValues(environment)) {\n this.context.errors.add({\n severity: \"CRITICAL\",\n message: \"Multi-environment values are not supported in Ruby snippets yet\"\n });\n return [];\n }\n }\n return [];\n }\n\n // Helper for auth arguments\n private getRootClientAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.Auth;\n values: FernIr.dynamic.AuthValues;\n }): ruby.KeywordArgument[] {\n if (values.type !== auth.type) {\n this.addError(this.context.newAuthMismatchError({ auth, values }).message);\n return [];\n }\n\n switch (auth.type) {\n case \"basic\":\n return values.type === \"basic\" ? this.getRootClientBasicAuthArgs({ auth, values }) : [];\n case \"bearer\":\n return values.type === \"bearer\" ? this.getRootClientBearerAuthArgs({ auth, values }) : [];\n case \"header\":\n return values.type === \"header\" ? this.getRootClientHeaderAuthArgs({ auth, values }) : [];\n case \"oauth\":\n return values.type === \"oauth\" ? this.getRootClientOAuthArgs({ auth, values }) : [];\n case \"inferred\":\n // Inferred auth parameters are handled by the root client constructor\n // (e.g., client_id, client_secret from the token endpoint request)\n // No additional auth arguments needed here\n return [];\n default:\n assertNever(auth);\n }\n }\n\n private addError(message: string): void {\n this.context.errors.add({ severity: Severity.Critical, message });\n }\n\n private addWarning(message: string): void {\n this.context.errors.add({ severity: Severity.Warning, message });\n }\n\n private getRootClientBasicAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.BasicAuth;\n values: FernIr.dynamic.BasicAuthValues;\n }): ruby.KeywordArgument[] {\n return [\n ruby.keywordArgument({\n name: auth.username.snakeCase.safeName,\n value: ruby.TypeLiteral.string(values.username)\n }),\n ruby.keywordArgument({\n name: auth.password.snakeCase.safeName,\n value: ruby.TypeLiteral.string(values.password)\n })\n ];\n }\n\n private getRootClientBearerAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.BearerAuth;\n values: FernIr.dynamic.BearerAuthValues;\n }): ruby.KeywordArgument[] {\n return [\n ruby.keywordArgument({\n name: auth.token.snakeCase.safeName,\n value: ruby.TypeLiteral.string(values.token)\n })\n ];\n }\n\n private getRootClientHeaderAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.HeaderAuth;\n values: FernIr.dynamic.HeaderAuthValues;\n }): ruby.KeywordArgument[] {\n return [\n ruby.keywordArgument({\n name: auth.header.name.name.snakeCase.safeName,\n value: ruby.TypeLiteral.string(values.value as string)\n })\n ];\n }\n\n private getRootClientOAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.OAuth;\n values: FernIr.dynamic.OAuthValues;\n }): ruby.KeywordArgument[] {\n // OAuth client credentials\n return [\n ruby.keywordArgument({\n name: auth.clientId.snakeCase.safeName,\n value: ruby.TypeLiteral.string(values.clientId)\n }),\n ruby.keywordArgument({\n name: auth.clientSecret.snakeCase.safeName,\n value: ruby.TypeLiteral.string(values.clientSecret)\n })\n ];\n }\n\n // Helper for headers\n private getRootClientHeaderArgs({\n headers,\n values\n }: {\n headers: FernIr.dynamic.NamedParameter[];\n values: FernIr.dynamic.Values;\n }): ruby.KeywordArgument[] {\n const args: ruby.KeywordArgument[] = [];\n for (const header of headers) {\n const value = values[header.name.name.originalName];\n if (value != null && typeof value === \"string\") {\n args.push(\n ruby.keywordArgument({\n name: header.name.name.snakeCase.safeName,\n value: ruby.TypeLiteral.string(value)\n })\n );\n }\n }\n return args;\n }\n\n // Main builder\n private getRootClientBuilderArgs({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.KeywordArgument[] {\n const builderArgs: ruby.KeywordArgument[] = [];\n\n // Auth\n if (endpoint.auth != null) {\n if (snippet.auth != null) {\n builderArgs.push(...this.getRootClientAuthArgs({ auth: endpoint.auth, values: snippet.auth }));\n } else {\n this.context.errors.add({\n severity: \"WARNING\",\n message: `Auth with ${endpoint.auth.type} configuration is required for this endpoint`\n });\n }\n }\n\n // Base URL / Environment\n const baseUrlArgs = this.getRootClientBaseUrlArg({\n baseUrl: snippet.baseURL,\n environment: snippet.environment\n });\n if (baseUrlArgs.length > 0) {\n builderArgs.push(...baseUrlArgs);\n }\n\n // Headers\n this.context.errors.scope(\"Headers\");\n if (this.context.ir.headers != null && snippet.headers != null) {\n builderArgs.push(\n ...this.getRootClientHeaderArgs({ headers: this.context.ir.headers, values: snippet.headers })\n );\n }\n this.context.errors.unscope();\n\n return builderArgs;\n }\n\n private callMethod({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.MethodInvocation {\n const invokeMethodArgs: ruby.MethodInvocation.Args = {\n on: ruby.codeblock(CLIENT_VAR_NAME),\n method: this.getMethod({ endpoint }),\n arguments_: []\n };\n\n switch (endpoint.request.type) {\n case \"inlined\":\n invokeMethodArgs.keywordArguments = this.getMethodArgsForInlinedRequest({\n request: endpoint.request,\n snippet\n });\n break;\n case \"body\":\n // Ruby SDK methods use keyword arguments (via **params), not positional arguments\n invokeMethodArgs.keywordArguments = this.getMethodArgsForBodyRequest({\n request: endpoint.request,\n snippet\n });\n break;\n default:\n assertNever(endpoint.request);\n }\n\n // Add request_options with additional_headers for unmapped headers (e.g., X-Test-Id)\n const requestOptions = this.getRequestOptions({ endpoint, snippet });\n if (requestOptions != null) {\n invokeMethodArgs.keywordArguments = invokeMethodArgs.keywordArguments ?? [];\n invokeMethodArgs.keywordArguments.push(requestOptions);\n }\n\n return ruby.invokeMethod(invokeMethodArgs);\n }\n\n /**\n * Builds request_options from snippet headers for per-request options.\n * This is used when generating snippets for wire tests where headers like X-Test-Id\n * should be passed as request_options[:additional_headers] rather than as method parameters.\n * Only includes headers that are NOT already mapped to the request directly (i.e., not defined in the IR).\n */\n private getRequestOptions({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.KeywordArgument | undefined {\n const headers = snippet.headers ?? {};\n const entries = Object.entries(headers);\n if (entries.length === 0) {\n return undefined;\n }\n\n // Build a set of header names that are already mapped to the request directly\n const mappedHeaderNames = new Set<string>();\n\n // Add global headers from IR\n if (this.context.ir.headers != null) {\n for (const header of this.context.ir.headers) {\n mappedHeaderNames.add(header.name.wireValue.toLowerCase());\n }\n }\n\n // Add endpoint-level headers from inlined request\n if (endpoint.request.type === \"inlined\" && endpoint.request.headers != null) {\n for (const header of endpoint.request.headers) {\n mappedHeaderNames.add(header.name.wireValue.toLowerCase());\n }\n }\n\n // Filter out headers that are already mapped to the request\n const unmappedEntries = entries.filter(([name]) => !mappedHeaderNames.has(name.toLowerCase()));\n if (unmappedEntries.length === 0) {\n return undefined;\n }\n\n // Build request_options: { additional_headers: { \"X-Test-Id\" => \"value\" } }\n const additionalHeadersEntries = unmappedEntries.map(([name, value]) => ({\n key: ruby.TypeLiteral.string(name),\n value: ruby.TypeLiteral.string(String(value))\n }));\n\n return ruby.keywordArgument({\n name: \"request_options\",\n value: ruby.TypeLiteral.hash([\n {\n key: ruby.TypeLiteral.string(\"additional_headers\"),\n value: ruby.TypeLiteral.hash(additionalHeadersEntries)\n }\n ])\n });\n }\n\n private getMethodArgsForInlinedRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.KeywordArgument[] {\n const args: ruby.KeywordArgument[] = [];\n\n args.push(\n ...this.getNamedParameterArgs({\n kind: \"PathParameters\",\n namedParameters: request.pathParameters,\n values: snippet.pathParameters\n })\n );\n args.push(\n ...this.getNamedParameterArgs({\n kind: \"QueryParameters\",\n namedParameters: request.queryParameters,\n values: snippet.queryParameters\n })\n );\n args.push(\n ...this.getNamedParameterArgs({\n kind: \"Headers\",\n namedParameters: request.headers,\n values: snippet.headers\n })\n );\n\n // Handle request.body if present\n if (request.body != null) {\n switch (request.body.type) {\n case \"properties\":\n args.push(...this.getMethodArgsForPropertiesRequest({ request: request.body, snippet }));\n break;\n case \"referenced\":\n case \"fileUpload\":\n // Not implemented for Ruby snippets yet\n break;\n default:\n assertNever(request.body);\n }\n }\n\n return args;\n }\n\n private getNamedParameterArgs({\n kind,\n namedParameters,\n values\n }: {\n kind: \"PathParameters\" | \"QueryParameters\" | \"Headers\";\n namedParameters: FernIr.dynamic.NamedParameter[] | undefined;\n values: Record<string, unknown> | undefined;\n }): ruby.KeywordArgument[] {\n const args: ruby.KeywordArgument[] = [];\n this.context.errors.scope(kind);\n if (namedParameters != null) {\n const associated = this.context.associateByWireValue({\n parameters: namedParameters,\n values: values ?? {},\n ignoreMissingParameters: true\n });\n for (const parameter of associated) {\n const value = this.context.dynamicTypeLiteralMapper.convert(parameter);\n // Skip nop values (undefined/null) to avoid generating empty arguments like \"channel: ,\"\n if (ruby.TypeLiteral.isNop(value)) {\n continue;\n }\n args.push(\n ruby.keywordArgument({\n name: this.context.getPropertyName(parameter.name.name),\n value\n })\n );\n }\n }\n this.context.errors.unscope();\n return args;\n }\n\n private getMethodArgsForPropertiesRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequestBody.Properties;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.KeywordArgument[] {\n const args: ruby.KeywordArgument[] = [];\n\n const bodyProperties = this.context.associateByWireValue({\n parameters: request.value,\n values: this.context.getRecord(snippet.requestBody) ?? {}\n });\n for (const parameter of bodyProperties) {\n const value = this.context.dynamicTypeLiteralMapper.convert(parameter);\n // Skip nop values (undefined/null) to avoid generating empty arguments like \"channel: ,\"\n if (ruby.TypeLiteral.isNop(value)) {\n continue;\n }\n args.push(\n ruby.keywordArgument({\n name: this.context.getPropertyName(parameter.name.name),\n value\n })\n );\n }\n return args;\n }\n\n private getMethodArgsForBodyRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.BodyRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): ruby.KeywordArgument[] {\n const args: ruby.KeywordArgument[] = [];\n\n // Add path parameters as keyword arguments (Ruby SDK uses **params)\n args.push(\n ...this.getNamedParameterArgs({\n kind: \"PathParameters\",\n namedParameters: request.pathParameters,\n values: snippet.pathParameters\n })\n );\n\n // Add body fields as keyword arguments\n if (request.body != null) {\n switch (request.body.type) {\n case \"bytes\":\n // Not supported in Ruby snippets yet\n this.context.errors.add({\n severity: \"CRITICAL\",\n message: \"Bytes request body is not supported in Ruby snippets yet\"\n });\n break;\n case \"typeReference\": {\n // For typeReference bodies, we need to flatten the body fields into keyword arguments\n // The Ruby SDK expects keyword args that get wrapped into the type by the method\n const bodyRecord = this.context.getRecord(snippet.requestBody);\n if (bodyRecord != null) {\n // Get the type definition to understand the field names\n const typeRef = request.body.value;\n if (typeRef.type === \"named\") {\n const namedType = this.context.resolveNamedType({ typeId: typeRef.value });\n if (namedType != null) {\n // Convert the body record fields to keyword arguments\n const bodyFields = this.getBodyFieldsAsKeywordArgs({\n namedType,\n bodyRecord\n });\n args.push(...bodyFields);\n }\n }\n }\n break;\n }\n default:\n assertNever(request.body);\n }\n }\n\n return args;\n }\n\n private getBodyFieldsAsKeywordArgs({\n namedType,\n bodyRecord\n }: {\n namedType: FernIr.dynamic.NamedType;\n bodyRecord: Record<string, unknown>;\n }): ruby.KeywordArgument[] {\n const args: ruby.KeywordArgument[] = [];\n\n // Handle different type shapes\n switch (namedType.type) {\n case \"object\": {\n // For objects, convert each property to a keyword argument\n for (const property of namedType.properties) {\n const wireValue = property.name.wireValue;\n const value = bodyRecord[wireValue];\n if (value !== undefined) {\n // Scope errors to the property name for better error messages\n this.context.errors.scope(wireValue);\n const convertedValue = this.context.dynamicTypeLiteralMapper.convert({\n typeReference: property.typeReference,\n value\n });\n this.context.errors.unscope();\n if (!ruby.TypeLiteral.isNop(convertedValue)) {\n args.push(\n ruby.keywordArgument({\n name: this.context.getPropertyName(property.name.name),\n value: convertedValue\n })\n );\n }\n }\n }\n break;\n }\n case \"alias\":\n case \"discriminatedUnion\":\n case \"undiscriminatedUnion\":\n case \"enum\":\n // For these types, we can't easily flatten to keyword args\n // Fall back to passing the whole body as-is (this may need refinement)\n break;\n default:\n assertNever(namedType);\n }\n\n return args;\n }\n\n private getMethod({ endpoint }: { endpoint: FernIr.dynamic.Endpoint }): string {\n if (endpoint.declaration.fernFilepath.allParts.length > 0) {\n return `${endpoint.declaration.fernFilepath.allParts\n .map((val) => `${this.context.getMethodName(val)}`)\n .join(\".\")}.${this.context.getMethodName(endpoint.declaration.name)}`;\n }\n return this.context.getMethodName(endpoint.declaration.name);\n }\n}\n"],"mappings":"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","names":["init_process","init_buffer","CLIENT_VAR_NAME","EndpointSnippetGenerator","context","formatter","__publicField","endpoint","request","_a","options","snippet","ruby_exports","writer","clientClassRef","builderArgs","baseUrl","environment","environmentTypeReference","auth","values","assertNever","message","Severity","headers","args","header","value","baseUrlArgs","invokeMethodArgs","requestOptions","entries","mappedHeaderNames","unmappedEntries","name","additionalHeadersEntries","kind","namedParameters","associated","parameter","bodyProperties","bodyRecord","typeRef","namedType","bodyFields","property","wireValue","convertedValue","val"]}
@@ -1,2 +1,2 @@
1
- import{a as l,b as u,c as y,d as s,f as o,h as r}from"./chunk-SFFHNMMU.js";u();y();var v=class{constructor({context:e}){l(this,"context");this.context=e}convert(e){if(e.value===null)return this.context.isNullable(e.typeReference)?r.TypeLiteral.nil():(this.context.errors.add({severity:o.Critical,message:"Expected non-null value, but got null"}),r.TypeLiteral.nop());if(e.value===void 0)return r.TypeLiteral.nop();switch(e.typeReference.type){case"list":return this.convertList({list:e.typeReference.value,value:e.value});case"literal":return this.convertLiteral({literalType: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?r.TypeLiteral.nop():this.convertNamed({named:t,value:e.value,as:e.as})}case"optional":return this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as});case"nullable":return this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as});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 r.TypeLiteral.nop();default:s(e.typeReference)}}convertLiteral({literalType:e,value:t}){switch(e.type){case"boolean":{let i=this.context.getValueAsBoolean({value:t});return i==null?r.TypeLiteral.nop():r.TypeLiteral.boolean(i)}case"string":{let i=this.context.getValueAsString({value:t});return i==null?r.TypeLiteral.nop():r.TypeLiteral.string(i)}default:s(e)}}convertList({list:e,value:t}){return Array.isArray(t)?r.TypeLiteral.list(t.map((i,n)=>{this.context.errors.scope({index:n});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:o.Critical,message:`Expected array but got: ${typeof t}`}),r.TypeLiteral.nop())}convertSet({set:e,value:t}){return Array.isArray(t)?r.TypeLiteral.set(t.map((i,n)=>{this.context.errors.scope({index:n});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:o.Critical,message:`Expected array but got: ${typeof t}`}),r.TypeLiteral.nop())}convertMap({map:e,value:t}){return typeof t!="object"||t==null?(this.context.errors.add({severity:o.Critical,message:`Expected object but got: ${t==null?"null":typeof t}`}),r.TypeLiteral.nop()):r.TypeLiteral.hash(Object.entries(t).map(([i,n])=>{this.context.errors.scope(i);try{return{key:this.convert({typeReference:e.key,value:i,as:"key"}),value:this.convert({typeReference:e.value,value:n})}}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 r.TypeLiteral.nop();case"object":return this.convertObject({object:e,value:t});case"enum":return r.TypeLiteral.nop();case"undiscriminatedUnion":return r.TypeLiteral.nop();default:s(e)}}convertPrimitive({primitive:e,value:t,as:i}){switch(e){case"INTEGER":case"LONG":case"UINT":case"UINT_64":{let n=this.getValueAsNumber({value:t,as:i});return n==null?r.TypeLiteral.nop():r.TypeLiteral.integer(n)}case"FLOAT":case"DOUBLE":{let n=this.getValueAsNumber({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.float(n)}case"BOOLEAN":{let n=this.getValueAsBoolean({value:t,as:i});return n==null?r.TypeLiteral.nop():r.TypeLiteral.boolean(n)}case"BASE_64":case"BIG_INTEGER":case"STRING":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}case"UUID":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}case"DATE":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}case"DATE_TIME":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}default:s(e)}}convertObject({object:e,value:t}){return typeof t!="object"||t==null?(this.context.errors.add({severity:o.Critical,message:`Expected object but got: ${t==null?"null":typeof t}`}),r.TypeLiteral.nop()):r.TypeLiteral.hash(Object.entries(t).map(([i,n])=>{var c,p;this.context.errors.scope(i);let a=e.properties.find(T=>T.name.wireValue===i),f=(c=a==null?void 0:a.typeReference)!=null?c:{type:"unknown"},m=(p=a==null?void 0:a.name.name.snakeCase.safeName)!=null?p:i,d={key:r.TypeLiteral.string(m),value:this.convert({typeReference:f,value:n})};return this.context.errors.unscope(),d}))}getValueAsNumber({value:e,as:t}){let i=t==="key"&&typeof e=="string"?Number(e):e;return this.context.getValueAsNumber({value:i})}getValueAsBoolean({value:e,as:t}){let i=t==="key"?typeof e=="string"?e==="true":!!e:e;return this.context.getValueAsBoolean({value:i})}};export{v as a};
2
- //# sourceMappingURL=chunk-CWYMFRFT.js.map
1
+ import{a as l,b as u,c as y,d as s,f as o,h as r}from"./chunk-TGWLAKQC.js";u();y();var v=class{constructor({context:e}){l(this,"context");this.context=e}convert(e){if(e.value===null)return this.context.isNullable(e.typeReference)?r.TypeLiteral.nil():(this.context.errors.add({severity:o.Critical,message:"Expected non-null value, but got null"}),r.TypeLiteral.nop());if(e.value===void 0)return r.TypeLiteral.nop();switch(e.typeReference.type){case"list":return this.convertList({list:e.typeReference.value,value:e.value});case"literal":return this.convertLiteral({literalType: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?r.TypeLiteral.nop():this.convertNamed({named:t,value:e.value,as:e.as})}case"optional":return this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as});case"nullable":return this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as});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 r.TypeLiteral.nop();default:s(e.typeReference)}}convertLiteral({literalType:e,value:t}){switch(e.type){case"boolean":{let i=this.context.getValueAsBoolean({value:t});return i==null?r.TypeLiteral.nop():r.TypeLiteral.boolean(i)}case"string":{let i=this.context.getValueAsString({value:t});return i==null?r.TypeLiteral.nop():r.TypeLiteral.string(i)}default:s(e)}}convertList({list:e,value:t}){return Array.isArray(t)?r.TypeLiteral.list(t.map((i,n)=>{this.context.errors.scope({index:n});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:o.Critical,message:`Expected array but got: ${typeof t}`}),r.TypeLiteral.nop())}convertSet({set:e,value:t}){return Array.isArray(t)?r.TypeLiteral.set(t.map((i,n)=>{this.context.errors.scope({index:n});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:o.Critical,message:`Expected array but got: ${typeof t}`}),r.TypeLiteral.nop())}convertMap({map:e,value:t}){return typeof t!="object"||t==null?(this.context.errors.add({severity:o.Critical,message:`Expected object but got: ${t==null?"null":typeof t}`}),r.TypeLiteral.nop()):r.TypeLiteral.hash(Object.entries(t).map(([i,n])=>{this.context.errors.scope(i);try{return{key:this.convert({typeReference:e.key,value:i,as:"key"}),value:this.convert({typeReference:e.value,value:n})}}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 r.TypeLiteral.nop();case"object":return this.convertObject({object:e,value:t});case"enum":return r.TypeLiteral.nop();case"undiscriminatedUnion":return r.TypeLiteral.nop();default:s(e)}}convertPrimitive({primitive:e,value:t,as:i}){switch(e){case"INTEGER":case"LONG":case"UINT":case"UINT_64":{let n=this.getValueAsNumber({value:t,as:i});return n==null?r.TypeLiteral.nop():r.TypeLiteral.integer(n)}case"FLOAT":case"DOUBLE":{let n=this.getValueAsNumber({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.float(n)}case"BOOLEAN":{let n=this.getValueAsBoolean({value:t,as:i});return n==null?r.TypeLiteral.nop():r.TypeLiteral.boolean(n)}case"BASE_64":case"BIG_INTEGER":case"STRING":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}case"UUID":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}case"DATE":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}case"DATE_TIME":{let n=this.context.getValueAsString({value:t});return n==null?r.TypeLiteral.nop():r.TypeLiteral.string(n)}default:s(e)}}convertObject({object:e,value:t}){return typeof t!="object"||t==null?(this.context.errors.add({severity:o.Critical,message:`Expected object but got: ${t==null?"null":typeof t}`}),r.TypeLiteral.nop()):r.TypeLiteral.hash(Object.entries(t).map(([i,n])=>{var c,p;this.context.errors.scope(i);let a=e.properties.find(T=>T.name.wireValue===i),f=(c=a==null?void 0:a.typeReference)!=null?c:{type:"unknown"},m=(p=a==null?void 0:a.name.name.snakeCase.safeName)!=null?p:i,d={key:r.TypeLiteral.string(m),value:this.convert({typeReference:f,value:n})};return this.context.errors.unscope(),d}))}getValueAsNumber({value:e,as:t}){let i=t==="key"&&typeof e=="string"?Number(e):e;return this.context.getValueAsNumber({value:i})}getValueAsBoolean({value:e,as:t}){let i=t==="key"?typeof e=="string"?e==="true":!!e:e;return this.context.getValueAsBoolean({value:i})}};export{v as a};
2
+ //# sourceMappingURL=chunk-SWWYKNFW.js.map
@@ -0,0 +1,34 @@
1
+ var ze=Object.defineProperty,bt=Object.defineProperties;var Nt=Object.getOwnPropertyDescriptors;var ye=Object.getOwnPropertySymbols;var je=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var Be=(n,t,e)=>t in n?ze(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,He=(n,t)=>{for(var e in t||(t={}))je.call(t,e)&&Be(n,e,t[e]);if(ye)for(var e of ye(t))Ge.call(t,e)&&Be(n,e,t[e]);return n},Ke=(n,t)=>bt(n,Nt(t));var Je=n=>typeof n=="symbol"?n:n+"",Xe=(n,t)=>{var e={};for(var r in n)je.call(n,r)&&t.indexOf(r)<0&&(e[r]=n[r]);if(n!=null&&ye)for(var r of ye(n))t.indexOf(r)<0&&Ge.call(n,r)&&(e[r]=n[r]);return e};var _e=(n,t)=>()=>(n&&(t=n(n=0)),t);var It=(n,t)=>{for(var e in t)ze(n,e,{get:t[e],enumerable:!0})};var f=(n,t,e)=>Be(n,typeof t!="symbol"?t+"":t,e);function Ze(){throw new Error("setTimeout has not been defined")}function Qe(){throw new Error("clearTimeout has not been defined")}function et(n){if(W===setTimeout)return setTimeout(n,0);if((W===Ze||!W)&&setTimeout)return W=setTimeout,setTimeout(n,0);try{return W(n,0)}catch(t){try{return W.call(null,n,0)}catch(e){return W.call(this,n,0)}}}function Lt(n){if(V===clearTimeout)return clearTimeout(n);if((V===Qe||!V)&&clearTimeout)return V=clearTimeout,clearTimeout(n);try{return V(n)}catch(t){try{return V.call(null,n)}catch(e){return V.call(this,n)}}}function Pt(){!te||!z||(te=!1,z.length?B=z.concat(B):xe=-1,B.length&&tt())}function tt(){if(!te){var n=et(Pt);te=!0;for(var t=B.length;t;){for(z=B,B=[];++xe<t;)z&&z[xe].run();xe=-1,t=B.length}z=null,te=!1,Lt(n)}}function Ct(n){var t=new Array(arguments.length-1);if(arguments.length>1)for(var e=1;e<arguments.length;e++)t[e-1]=arguments[e];B.push(new rt(n,t)),B.length===1&&!te&&et(tt)}function rt(n,t){this.fun=n,this.array=t}function j(){}function Jt(n){throw new Error("process.binding is not supported")}function Xt(){return"/"}function qt(n){throw new Error("process.chdir is not supported")}function Zt(){return 0}function er(n){var t=Qt.call(ee)*.001,e=Math.floor(t),r=Math.floor(t%1*1e9);return n&&(e=e-n[0],r=r-n[1],r<0&&(e--,r+=1e9)),[e,r]}function rr(){var n=new Date,t=n-tr;return t/1e3}var W,V,B,te,z,xe,Bt,_t,Ut,Ft,$t,Dt,Mt,Yt,Ot,Wt,Vt,zt,jt,Gt,Ht,Kt,ee,Qt,tr,m,qe,l=_e(()=>{"use strict";W=Ze,V=Qe;typeof globalThis.setTimeout=="function"&&(W=setTimeout);typeof globalThis.clearTimeout=="function"&&(V=clearTimeout);B=[],te=!1,xe=-1;rt.prototype.run=function(){this.fun.apply(null,this.array)};Bt="browser",_t="browser",Ut=!0,Ft={},$t=[],Dt="",Mt={},Yt={},Ot={};Wt=j,Vt=j,zt=j,jt=j,Gt=j,Ht=j,Kt=j;ee=globalThis.performance||{},Qt=ee.now||ee.mozNow||ee.msNow||ee.oNow||ee.webkitNow||function(){return new Date().getTime()};tr=new Date;m={nextTick:Ct,title:Bt,browser:Ut,env:Ft,argv:$t,version:Dt,versions:Mt,on:Wt,addListener:Vt,once:zt,off:jt,removeListener:Gt,removeAllListeners:Ht,emit:Kt,binding:Jt,cwd:Xt,chdir:qt,umask:Zt,hrtime:er,platform:_t,release:Yt,config:Ot,uptime:rr},qe={};Object.keys(qe).forEach(n=>{let t=n.split("."),e=m;for(let r=0;r<t.length;r++){let i=t[r];r===t.length-1?e[i]=qe[n]:e=e[i]||(e[i]={})}})});function st(){Fe=!0;for(var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,e=n.length;t<e;++t)I[t]=n[t],S[n.charCodeAt(t)]=t;S[45]=62,S[95]=63}function ir(n){Fe||st();var t,e,r,i,o,s,h=n.length;if(h%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o=n[h-2]==="="?2:n[h-1]==="="?1:0,s=new nr(h*3/4-o),r=o>0?h-4:h;var c=0;for(t=0,e=0;t<r;t+=4,e+=3)i=S[n.charCodeAt(t)]<<18|S[n.charCodeAt(t+1)]<<12|S[n.charCodeAt(t+2)]<<6|S[n.charCodeAt(t+3)],s[c++]=i>>16&255,s[c++]=i>>8&255,s[c++]=i&255;return o===2?(i=S[n.charCodeAt(t)]<<2|S[n.charCodeAt(t+1)]>>4,s[c++]=i&255):o===1&&(i=S[n.charCodeAt(t)]<<10|S[n.charCodeAt(t+1)]<<4|S[n.charCodeAt(t+2)]>>2,s[c++]=i>>8&255,s[c++]=i&255),s}function or(n){return I[n>>18&63]+I[n>>12&63]+I[n>>6&63]+I[n&63]}function sr(n,t,e){for(var r,i=[],o=t;o<e;o+=3)r=(n[o]<<16)+(n[o+1]<<8)+n[o+2],i.push(or(r));return i.join("")}function nt(n){Fe||st();for(var t,e=n.length,r=e%3,i="",o=[],s=16383,h=0,c=e-r;h<c;h+=s)o.push(sr(n,h,h+s>c?c:h+s));return r===1?(t=n[e-1],i+=I[t>>2],i+=I[t<<4&63],i+="=="):r===2&&(t=(n[e-2]<<8)+n[e-1],i+=I[t>>10],i+=I[t>>4&63],i+=I[t<<2&63],i+="="),o.push(i),o.join("")}function ge(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function _(n,t){if(ge()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(n=new Uint8Array(t),n.__proto__=a.prototype):(n===null&&(n=new a(t)),n.length=t),n}function a(n,t,e){if(!a.TYPED_ARRAY_SUPPORT&&!(this instanceof a))return new a(n,t,e);if(typeof n=="number"){if(typeof t=="string")throw new Error("If encoding is specified then the first argument must be a string");return $e(this,n)}return at(this,n,t,e)}function at(n,t,e,r){if(typeof t=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer!="undefined"&&t instanceof ArrayBuffer?lr(n,t,e,r):typeof t=="string"?fr(n,t,e):ur(n,t)}function ft(n){if(typeof n!="number")throw new TypeError('"size" argument must be a number');if(n<0)throw new RangeError('"size" argument must not be negative')}function ar(n,t,e,r){return ft(t),t<=0?_(n,t):e!==void 0?typeof r=="string"?_(n,t).fill(e,r):_(n,t).fill(e):_(n,t)}function $e(n,t){if(ft(t),n=_(n,t<0?0:De(t)|0),!a.TYPED_ARRAY_SUPPORT)for(var e=0;e<t;++e)n[e]=0;return n}function fr(n,t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!a.isEncoding(e))throw new TypeError('"encoding" must be a valid string encoding');var r=lt(t,e)|0;n=_(n,r);var i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function Ue(n,t){var e=t.length<0?0:De(t.length)|0;n=_(n,e);for(var r=0;r<e;r+=1)n[r]=t[r]&255;return n}function lr(n,t,e,r){if(t.byteLength,e<0||t.byteLength<e)throw new RangeError("'offset' is out of bounds");if(t.byteLength<e+(r||0))throw new RangeError("'length' is out of bounds");return e===void 0&&r===void 0?t=new Uint8Array(t):r===void 0?t=new Uint8Array(t,e):t=new Uint8Array(t,e,r),a.TYPED_ARRAY_SUPPORT?(n=t,n.__proto__=a.prototype):n=Ue(n,t),n}function ur(n,t){if(L(t)){var e=De(t.length)|0;return n=_(n,e),n.length===0||t.copy(n,0,0,e),n}if(t){if(typeof ArrayBuffer!="undefined"&&t.buffer instanceof ArrayBuffer||"length"in t)return typeof t.length!="number"||Ir(t.length)?_(n,0):Ue(n,t);if(t.type==="Buffer"&&Array.isArray(t.data))return Ue(n,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function De(n){if(n>=ge())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ge().toString(16)+" bytes");return n|0}function L(n){return!!(n!=null&&n._isBuffer)}function lt(n,t){if(L(n))return n.length;if(typeof ArrayBuffer!="undefined"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(n)||n instanceof ArrayBuffer))return n.byteLength;typeof n!="string"&&(n=""+n);var e=n.length;if(e===0)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return Te(n).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e*2;case"hex":return e>>>1;case"base64":return wt(n).length;default:if(r)return Te(n).length;t=(""+t).toLowerCase(),r=!0}}function hr(n,t,e){var r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((e===void 0||e>this.length)&&(e=this.length),e<=0)||(e>>>=0,t>>>=0,e<=t))return"";for(n||(n="utf8");;)switch(n){case"hex":return Er(this,t,e);case"utf8":case"utf-8":return ct(this,t,e);case"ascii":return gr(this,t,e);case"latin1":case"binary":return Tr(this,t,e);case"base64":return yr(this,t,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return vr(this,t,e);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(n+"").toLowerCase(),r=!0}}function G(n,t,e){var r=n[t];n[t]=n[e],n[e]=r}function ut(n,t,e,r,i){if(n.length===0)return-1;if(typeof e=="string"?(r=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:n.length-1),e<0&&(e=n.length+e),e>=n.length){if(i)return-1;e=n.length-1}else if(e<0)if(i)e=0;else return-1;if(typeof t=="string"&&(t=a.from(t,r)),L(t))return t.length===0?-1:it(n,t,e,r,i);if(typeof t=="number")return t=t&255,a.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(n,t,e):Uint8Array.prototype.lastIndexOf.call(n,t,e):it(n,[t],e,r,i);throw new TypeError("val must be string, number or Buffer")}function it(n,t,e,r,i){var o=1,s=n.length,h=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r==="ucs2"||r==="ucs-2"||r==="utf16le"||r==="utf-16le")){if(n.length<2||t.length<2)return-1;o=2,s/=2,h/=2,e/=2}function c(g,C){return o===1?g[C]:g.readUInt16BE(C*o)}var p;if(i){var d=-1;for(p=e;p<s;p++)if(c(n,p)===c(t,d===-1?0:p-d)){if(d===-1&&(d=p),p-d+1===h)return d*o}else d!==-1&&(p-=p-d),d=-1}else for(e+h>s&&(e=s-h),p=e;p>=0;p--){for(var w=!0,x=0;x<h;x++)if(c(n,p+x)!==c(t,x)){w=!1;break}if(w)return p}return-1}function cr(n,t,e,r){e=Number(e)||0;var i=n.length-e;r?(r=Number(r),r>i&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var s=0;s<r;++s){var h=parseInt(t.substr(s*2,2),16);if(isNaN(h))return s;n[e+s]=h}return s}function pr(n,t,e,r){return Ae(Te(t,n.length-e),n,e,r)}function ht(n,t,e,r){return Ae(br(t),n,e,r)}function dr(n,t,e,r){return ht(n,t,e,r)}function mr(n,t,e,r){return Ae(wt(t),n,e,r)}function wr(n,t,e,r){return Ae(Nr(t,n.length-e),n,e,r)}function yr(n,t,e){return t===0&&e===n.length?nt(n):nt(n.slice(t,e))}function ct(n,t,e){e=Math.min(n.length,e);for(var r=[],i=t;i<e;){var o=n[i],s=null,h=o>239?4:o>223?3:o>191?2:1;if(i+h<=e){var c,p,d,w;switch(h){case 1:o<128&&(s=o);break;case 2:c=n[i+1],(c&192)===128&&(w=(o&31)<<6|c&63,w>127&&(s=w));break;case 3:c=n[i+1],p=n[i+2],(c&192)===128&&(p&192)===128&&(w=(o&15)<<12|(c&63)<<6|p&63,w>2047&&(w<55296||w>57343)&&(s=w));break;case 4:c=n[i+1],p=n[i+2],d=n[i+3],(c&192)===128&&(p&192)===128&&(d&192)===128&&(w=(o&15)<<18|(c&63)<<12|(p&63)<<6|d&63,w>65535&&w<1114112&&(s=w))}}s===null?(s=65533,h=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|s&1023),r.push(s),i+=h}return xr(r)}function xr(n){var t=n.length;if(t<=ot)return String.fromCharCode.apply(String,n);for(var e="",r=0;r<t;)e+=String.fromCharCode.apply(String,n.slice(r,r+=ot));return e}function gr(n,t,e){var r="";e=Math.min(n.length,e);for(var i=t;i<e;++i)r+=String.fromCharCode(n[i]&127);return r}function Tr(n,t,e){var r="";e=Math.min(n.length,e);for(var i=t;i<e;++i)r+=String.fromCharCode(n[i]);return r}function Er(n,t,e){var r=n.length;(!t||t<0)&&(t=0),(!e||e<0||e>r)&&(e=r);for(var i="",o=t;o<e;++o)i+=Rr(n[o]);return i}function vr(n,t,e){for(var r=n.slice(t,e),i="",o=0;o<r.length;o+=2)i+=String.fromCharCode(r[o]+r[o+1]*256);return i}function E(n,t,e){if(n%1!==0||n<0)throw new RangeError("offset is not uint");if(n+t>e)throw new RangeError("Trying to access beyond buffer length")}function A(n,t,e,r,i,o){if(!L(n))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(e+r>n.length)throw new RangeError("Index out of range")}function Ee(n,t,e,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(n.length-e,2);i<o;++i)n[e+i]=(t&255<<8*(r?i:1-i))>>>(r?i:1-i)*8}function ve(n,t,e,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(n.length-e,4);i<o;++i)n[e+i]=t>>>(r?i:3-i)*8&255}function pt(n,t,e,r,i,o){if(e+r>n.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function dt(n,t,e,r,i){return i||pt(n,t,e,4,34028234663852886e22,-34028234663852886e22),xt(n,t,e,r,23,4),e+4}function mt(n,t,e,r,i){return i||pt(n,t,e,8,17976931348623157e292,-17976931348623157e292),xt(n,t,e,r,52,8),e+8}function kr(n){if(n=Sr(n).replace(Ar,""),n.length<2)return"";for(;n.length%4!==0;)n=n+"=";return n}function Sr(n){return n.trim?n.trim():n.replace(/^\s+|\s+$/g,"")}function Rr(n){return n<16?"0"+n.toString(16):n.toString(16)}function Te(n,t){t=t||1/0;for(var e,r=n.length,i=null,o=[],s=0;s<r;++s){if(e=n.charCodeAt(s),e>55295&&e<57344){if(!i){if(e>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(t-=3)>-1&&o.push(239,191,189),i=e;continue}e=(i-55296<<10|e-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((t-=1)<0)break;o.push(e)}else if(e<2048){if((t-=2)<0)break;o.push(e>>6|192,e&63|128)}else if(e<65536){if((t-=3)<0)break;o.push(e>>12|224,e>>6&63|128,e&63|128)}else if(e<1114112){if((t-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,e&63|128)}else throw new Error("Invalid code point")}return o}function br(n){for(var t=[],e=0;e<n.length;++e)t.push(n.charCodeAt(e)&255);return t}function Nr(n,t){for(var e,r,i,o=[],s=0;s<n.length&&!((t-=2)<0);++s)e=n.charCodeAt(s),r=e>>8,i=e%256,o.push(i),o.push(r);return o}function wt(n){return ir(kr(n))}function Ae(n,t,e,r){for(var i=0;i<r&&!(i+e>=t.length||i>=n.length);++i)t[i+e]=n[i];return i}function Ir(n){return n!==n}function Lr(n){return n!=null&&(!!n._isBuffer||yt(n)||Pr(n))}function yt(n){return!!n.constructor&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)}function Pr(n){return typeof n.readFloatLE=="function"&&typeof n.slice=="function"&&yt(n.slice(0,0))}function ke(n,t,e,r,i){var o,s,h=i*8-r-1,c=(1<<h)-1,p=c>>1,d=-7,w=e?i-1:0,x=e?-1:1,g=n[t+w];for(w+=x,o=g&(1<<-d)-1,g>>=-d,d+=h;d>0;o=o*256+n[t+w],w+=x,d-=8);for(s=o&(1<<-d)-1,o>>=-d,d+=r;d>0;s=s*256+n[t+w],w+=x,d-=8);if(o===0)o=1-p;else{if(o===c)return s?NaN:(g?-1:1)*(1/0);s=s+Math.pow(2,r),o=o-p}return(g?-1:1)*s*Math.pow(2,o-r)}function xt(n,t,e,r,i,o){var s,h,c,p=o*8-i-1,d=(1<<p)-1,w=d>>1,x=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,g=r?0:o-1,C=r?1:-1,we=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(h=isNaN(t)?1:0,s=d):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+w>=1?t+=x/c:t+=x*Math.pow(2,1-w),t*c>=2&&(s++,c/=2),s+w>=d?(h=0,s=d):s+w>=1?(h=(t*c-1)*Math.pow(2,i),s=s+w):(h=t*Math.pow(2,w-1)*Math.pow(2,i),s=0));i>=8;n[e+g]=h&255,g+=C,h/=256,i-=8);for(s=s<<i|h,p+=i;p>0;n[e+g]=s&255,g+=C,s/=256,p-=8);n[e+g-C]|=we*128}var I,S,nr,Fe,ot,Ar,gt=_e(()=>{"use strict";l();u();I=[],S=[],nr=typeof Uint8Array!="undefined"?Uint8Array:Array,Fe=!1;a.TYPED_ARRAY_SUPPORT=globalThis.TYPED_ARRAY_SUPPORT!==void 0?globalThis.TYPED_ARRAY_SUPPORT:!0;a.poolSize=8192;a._augment=function(n){return n.__proto__=a.prototype,n};a.from=function(n,t,e){return at(null,n,t,e)};a.kMaxLength=ge();a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,typeof Symbol!="undefined"&&Symbol.species&&a[Symbol.species]);a.alloc=function(n,t,e){return ar(null,n,t,e)};a.allocUnsafe=function(n){return $e(null,n)};a.allocUnsafeSlow=function(n){return $e(null,n)};a.isBuffer=Lr;a.compare=function(t,e){if(!L(t)||!L(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,o=0,s=Math.min(r,i);o<s;++o)if(t[o]!==e[o]){r=t[o],i=e[o];break}return r<i?-1:i<r?1:0};a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return a.alloc(0);var r;if(e===void 0)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var i=a.allocUnsafe(e),o=0;for(r=0;r<t.length;++r){var s=t[r];if(!L(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(i,o),o+=s.length}return i};a.byteLength=lt;a.prototype._isBuffer=!0;a.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)G(this,e,e+1);return this};a.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)G(this,e,e+3),G(this,e+1,e+2);return this};a.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)G(this,e,e+7),G(this,e+1,e+6),G(this,e+2,e+5),G(this,e+3,e+4);return this};a.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?ct(this,0,t):hr.apply(this,arguments)};a.prototype.equals=function(t){if(!L(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:a.compare(this,t)===0};a.prototype.compare=function(t,e,r,i,o){if(!L(t))throw new TypeError("Argument must be a Buffer");if(e===void 0&&(e=0),r===void 0&&(r=t?t.length:0),i===void 0&&(i=0),o===void 0&&(o=this.length),e<0||r>t.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&e>=r)return 0;if(i>=o)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,i>>>=0,o>>>=0,this===t)return 0;for(var s=o-i,h=r-e,c=Math.min(s,h),p=this.slice(i,o),d=t.slice(e,r),w=0;w<c;++w)if(p[w]!==d[w]){s=p[w],h=d[w];break}return s<h?-1:h<s?1:0};a.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1};a.prototype.indexOf=function(t,e,r){return ut(this,t,e,r,!0)};a.prototype.lastIndexOf=function(t,e,r){return ut(this,t,e,r,!1)};a.prototype.write=function(t,e,r,i){if(e===void 0)i="utf8",r=this.length,e=0;else if(r===void 0&&typeof e=="string")i=e,r=this.length,e=0;else if(isFinite(e))e=e|0,isFinite(r)?(r=r|0,i===void 0&&(i="utf8")):(i=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var o=this.length-e;if((r===void 0||r>o)&&(r=o),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var s=!1;;)switch(i){case"hex":return cr(this,t,e,r);case"utf8":case"utf-8":return pr(this,t,e,r);case"ascii":return ht(this,t,e,r);case"latin1":case"binary":return dr(this,t,e,r);case"base64":return mr(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return wr(this,t,e,r);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};ot=4096;a.prototype.slice=function(t,e){var r=this.length;t=~~t,e=e===void 0?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e<t&&(e=t);var i;if(a.TYPED_ARRAY_SUPPORT)i=this.subarray(t,e),i.__proto__=a.prototype;else{var o=e-t;i=new a(o,void 0);for(var s=0;s<o;++s)i[s]=this[s+t]}return i};a.prototype.readUIntLE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var i=this[t],o=1,s=0;++s<e&&(o*=256);)i+=this[t+s]*o;return i};a.prototype.readUIntBE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var i=this[t+--e],o=1;e>0&&(o*=256);)i+=this[t+--e]*o;return i};a.prototype.readUInt8=function(t,e){return e||E(t,1,this.length),this[t]};a.prototype.readUInt16LE=function(t,e){return e||E(t,2,this.length),this[t]|this[t+1]<<8};a.prototype.readUInt16BE=function(t,e){return e||E(t,2,this.length),this[t]<<8|this[t+1]};a.prototype.readUInt32LE=function(t,e){return e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};a.prototype.readUInt32BE=function(t,e){return e||E(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};a.prototype.readIntLE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var i=this[t],o=1,s=0;++s<e&&(o*=256);)i+=this[t+s]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i};a.prototype.readIntBE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var i=e,o=1,s=this[t+--i];i>0&&(o*=256);)s+=this[t+--i]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*e)),s};a.prototype.readInt8=function(t,e){return e||E(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};a.prototype.readInt16LE=function(t,e){e||E(t,2,this.length);var r=this[t]|this[t+1]<<8;return r&32768?r|4294901760:r};a.prototype.readInt16BE=function(t,e){e||E(t,2,this.length);var r=this[t+1]|this[t]<<8;return r&32768?r|4294901760:r};a.prototype.readInt32LE=function(t,e){return e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};a.prototype.readInt32BE=function(t,e){return e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};a.prototype.readFloatLE=function(t,e){return e||E(t,4,this.length),ke(this,t,!0,23,4)};a.prototype.readFloatBE=function(t,e){return e||E(t,4,this.length),ke(this,t,!1,23,4)};a.prototype.readDoubleLE=function(t,e){return e||E(t,8,this.length),ke(this,t,!0,52,8)};a.prototype.readDoubleBE=function(t,e){return e||E(t,8,this.length),ke(this,t,!1,52,8)};a.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e=e|0,r=r|0,!i){var o=Math.pow(2,8*r)-1;A(this,t,e,r,o,0)}var s=1,h=0;for(this[e]=t&255;++h<r&&(s*=256);)this[e+h]=t/s&255;return e+r};a.prototype.writeUIntBE=function(t,e,r,i){if(t=+t,e=e|0,r=r|0,!i){var o=Math.pow(2,8*r)-1;A(this,t,e,r,o,0)}var s=r-1,h=1;for(this[e+s]=t&255;--s>=0&&(h*=256);)this[e+s]=t/h&255;return e+r};a.prototype.writeUInt8=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,1,255,0),a.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=t&255,e+1};a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8):Ee(this,t,e,!0),e+2};a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t&255):Ee(this,t,e,!1),e+2};a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t&255):ve(this,t,e,!0),e+4};a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255):ve(this,t,e,!1),e+4};a.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e=e|0,!i){var o=Math.pow(2,8*r-1);A(this,t,e,r,o-1,-o)}var s=0,h=1,c=0;for(this[e]=t&255;++s<r&&(h*=256);)t<0&&c===0&&this[e+s-1]!==0&&(c=1),this[e+s]=(t/h>>0)-c&255;return e+r};a.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e=e|0,!i){var o=Math.pow(2,8*r-1);A(this,t,e,r,o-1,-o)}var s=r-1,h=1,c=0;for(this[e+s]=t&255;--s>=0&&(h*=256);)t<0&&c===0&&this[e+s+1]!==0&&(c=1),this[e+s]=(t/h>>0)-c&255;return e+r};a.prototype.writeInt8=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,1,127,-128),a.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=t&255,e+1};a.prototype.writeInt16LE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8):Ee(this,t,e,!0),e+2};a.prototype.writeInt16BE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t&255):Ee(this,t,e,!1),e+2};a.prototype.writeInt32LE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):ve(this,t,e,!0),e+4};a.prototype.writeInt32BE=function(t,e,r){return t=+t,e=e|0,r||A(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),a.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255):ve(this,t,e,!1),e+4};a.prototype.writeFloatLE=function(t,e,r){return dt(this,t,e,!0,r)};a.prototype.writeFloatBE=function(t,e,r){return dt(this,t,e,!1,r)};a.prototype.writeDoubleLE=function(t,e,r){return mt(this,t,e,!0,r)};a.prototype.writeDoubleBE=function(t,e,r){return mt(this,t,e,!1,r)};a.prototype.copy=function(t,e,r,i){if(r||(r=0),!i&&i!==0&&(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r||t.length===0||this.length===0)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);var o=i-r,s;if(this===t&&r<e&&e<i)for(s=o-1;s>=0;--s)t[s+e]=this[s+r];else if(o<1e3||!a.TYPED_ARRAY_SUPPORT)for(s=0;s<o;++s)t[s+e]=this[s+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o};a.prototype.fill=function(t,e,r,i){if(typeof t=="string"){if(typeof e=="string"?(i=e,e=0,r=this.length):typeof r=="string"&&(i=r,r=this.length),t.length===1){var o=t.charCodeAt(0);o<256&&(t=o)}if(i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!a.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else typeof t=="number"&&(t=t&255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;e=e>>>0,r=r===void 0?this.length:r>>>0,t||(t=0);var s;if(typeof t=="number")for(s=e;s<r;++s)this[s]=t;else{var h=L(t)?t:Te(new a(t,i).toString()),c=h.length;for(s=0;s<r-e;++s)this[s+e]=h[s%c]}return this};Ar=/[^+\/0-9A-Za-z-_]/g});var u=_e(()=>{"use strict";gt()});l();u();function k(n){throw new Error("Unexpected value: "+JSON.stringify(n))}l();u();l();u();function ne(n){return Object.keys(n)}l();u();l();u();var ie=class{constructor(){f(this,"reporter");f(this,"snippet");f(this,"err");this.snippet=void 0,this.reporter=void 0,this.err=void 0}update({context:t,snippet:e}){this.shouldUpdate({snippet:e,reporter:t.errors})&&(this.reporter=t.errors.clone(),this.snippet=e)}getResponseOrThrow({endpoint:t}){var e;if(this.snippet!=null&&this.reporter!=null)return{snippet:this.snippet,errors:this.reporter.toDynamicSnippetErrors()};throw(e=this.err)!=null?e:new Error(`Failed to generate snippet for endpoint "${t.method} ${t.path}"`)}shouldUpdate({snippet:t,reporter:e}){var r,i;return this.reporter==null||this.reporter.size()>0&&e.size()===0?!0:t.length>((i=(r=this.snippet)==null?void 0:r.length)!=null?i:0)}};var Me=class{constructor(t){f(this,"context");this.context=t}async generate(t,e={}){let r=this.context.resolveEndpointLocationOrThrow(t.endpoint);if(r.length===0)throw new Error(`No endpoints found that match "${t.endpoint.method} ${t.endpoint.path}"`);let i=new ie;for(let o of r){let s=this.context.clone(),h=this.createSnippetGenerator(s);try{let c=await h.generateSnippet({endpoint:o,request:t,options:e});if(s.errors.empty())return{snippet:c,errors:void 0};i.update({context:s,snippet:c})}catch(c){i.err==null&&(i.err=c)}}return i.getResponseOrThrow({endpoint:t.endpoint})}async generateSnippetAst(t,e={}){let r=this.context.resolveEndpointLocationOrThrow(t.endpoint);if(r.length===0)throw new Error(`No endpoints found that match "${t.endpoint.method} ${t.endpoint.path}"`);let i;for(let o of r){let s=this.context.clone(),h=this.createSnippetGenerator(s);try{return await h.generateSnippetAst({endpoint:o,request:t,options:e})}catch(c){i=c}}throw i!=null?i:new Error(`Failed to generate snippet AST for endpoint: ${t.endpoint.method} ${t.endpoint.path}`)}generateSync(t,e={}){let r=this.context.resolveEndpointLocationOrThrow(t.endpoint);if(r.length===0)throw new Error(`No endpoints found that match "${t.endpoint.method} ${t.endpoint.path}"`);let i=new ie;for(let o of r){let s=this.context.clone(),h=this.createSnippetGenerator(s);try{let c=h.generateSnippetSync({endpoint:o,request:t,options:e});if(s.errors.empty())return{snippet:c,errors:void 0};i.update({context:s,snippet:c})}catch(c){i.err==null&&(i.err=c)}}return i.getResponseOrThrow({endpoint:t.endpoint})}};l();u();var T={Critical:"CRITICAL",Warning:"WARNING"},oe=class n{constructor(){f(this,"errors");f(this,"path");this.errors=[],this.path=[]}add(t){this.errors.push(Ke(He({},t),{path:[...this.path]}))}scope(t){this.path.push(t)}unscope(){this.path.pop()}getBySeverity(t){return this.errors.filter(e=>e.severity===t)}empty(){return this.errors.length===0}size(){return this.errors.length}clone(){let t=new n;return t.errors=[...this.errors],t.path=[...this.path],t}reset(){this.errors=[],this.path=[]}toDynamicSnippetErrors(){return this.errors.map(t=>({severity:t.severity,path:t.path!=null?this.pathToStringArray(t.path):void 0,message:t.message}))}pathToStringArray(t){let e=[];for(let r of t){if(typeof r=="string"){e.push(r);continue}e[e.length-1]+=`[${r.index}]`}return e}};l();u();l();u();l();u();var se=class{constructor(){f(this,"REFERENCE_REGEX",/^(GET|POST|PUT|DELETE|PATCH|HEAD)\s(\/\S*)$/)}validate(t){return this.REFERENCE_REGEX.test(t)?{type:"valid"}:{type:"invalid"}}tryParse(t){if(this.validate(t).type==="invalid")return;let r=t.match(this.REFERENCE_REGEX);if(!(r==null||r[1]==null||r[2]==null))return{method:r[1],path:r[2]}}};var Ye=class{constructor({ir:t,config:e,options:r={}}){f(this,"config");f(this,"options");f(this,"errors");f(this,"_ir");f(this,"httpEndpointReferenceParser");this._ir=t,this.config=e,this.options=r,this.errors=new oe,this.httpEndpointReferenceParser=new se}associateQueryParametersByWireValue({parameters:t,values:e}){let r=[];for(let[i,o]of Object.entries(e)){this.errors.scope(i);try{let s=t.find(c=>c.name.wireValue===i);if(s==null)throw this.newParameterNotRecognizedError(i);let h=this.isListTypeReference(s.typeReference)&&!Array.isArray(o)?[o]:o;r.push({name:s.name,typeReference:s.typeReference,value:h})}finally{this.errors.unscope()}}return r}associateByWireValueOrDefault({parameters:t,values:e}){let r=[];for(let i of t){this.errors.scope(i.name.wireValue);try{let o=e[i.name.wireValue];if(o==null)if(i.typeReference.type==="primitive"&&i.typeReference.value==="STRING")o=`<${i.name.wireValue}>`;else{this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(i.name.wireValue).message});continue}r.push({name:i.name,typeReference:i.typeReference,value:o})}finally{this.errors.unscope()}}return r}associateByWireValue({parameters:t,values:e,ignoreMissingParameters:r}){let i=[];for(let[o,s]of Object.entries(e)){this.errors.scope(o);try{let h=t.find(c=>c.name.wireValue===o);if(h==null){if(r)continue;this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(o).message});continue}i.push({name:h.name,typeReference:h.typeReference,value:s})}finally{this.errors.unscope()}}return i}getExampleObjectProperties({parameters:t,snippetObject:e}){let r=typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{},i=[];for(let o of t){let s=r[o.name.wireValue];s==null?o.typeReference.type==="nullable"&&i.push({name:o.name,typeReference:o.typeReference,value:null}):i.push({name:o.name,typeReference:o.typeReference,value:s})}return i}getSingleFileValue({property:t,record:e}){let r=e[t.wireValue];if(r!=null){if(typeof r!="string"){this.errors.add({severity:T.Critical,message:`Expected file value to be a string, got ${typeof r}`});return}return r}}getFileArrayValues({property:t,record:e}){let r=e[t.wireValue];if(r==null)return;if(!Array.isArray(r)){this.errors.add({severity:T.Critical,message:`Expected file array value to be an array of strings, got ${typeof r}`});return}let i=[];for(let o of r){if(typeof o!="string"){this.errors.add({severity:T.Critical,message:`Expected file array value to be an array of strings, got ${typeof o}`});return}i.push(o)}return i}getRecord(t){if(typeof t!="object"||Array.isArray(t)){this.errors.add({severity:T.Critical,message:`Expected object with key, value pairs but got: ${Array.isArray(t)?"array":typeof t}`});return}return t==null?{}:t}resolveNamedType({typeId:t}){let e=this._ir.types[t];if(e==null){this.errors.add({severity:T.Critical,message:`Type identified by "${t}" could not be found`});return}return e}resolveDiscriminatedUnionTypeInstance({discriminatedUnion:t,value:e}){let r=this.getRecord(e);if(r==null)return;let i=t.discriminant.wireValue,o=r[i];if(o==null){this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(i).message});return}if(typeof o!="string"){this.errors.add({severity:T.Critical,message:`Expected discriminant value to be a string but got: ${typeof o}`});return}let s=t.types[o];if(s==null){this.errors.add({severity:T.Critical,message:`No type found for discriminant value "${o}"`});return}let p=r,{[i]:h}=p,c=Xe(p,[Je(i)]);return{singleDiscriminatedUnionType:s,discriminantValue:s.discriminantValue,value:c}}resolveEndpointOrThrow(t){let e=this.httpEndpointReferenceParser.tryParse(t);if(e==null)throw new Error(`Failed to parse endpoint reference "${t}"`);return this.resolveEndpointLocationOrThrow(e)}resolveEndpointLocation(t){let e=[];for(let r of Object.values(this._ir.endpoints))this.parsedEndpointMatches({endpoint:r,parsedEndpoint:t})&&e.push(r);return e}resolveEndpointLocationOrThrow(t){let e=this.resolveEndpointLocation(t);if(e.length===0)throw new Error(`Failed to find endpoint identified by "${t.method} ${t.path}"`);return e}needsRequestParameter({request:t,inlinePathParameters:e,inlineFileProperties:r}){var i;return this.includePathParametersInWrappedRequest({request:t,inlinePathParameters:e})||t.queryParameters!=null&&t.queryParameters.length>0||t.headers!=null&&t.headers.length>0?!0:t.body!=null?this.includeRequestBodyInWrappedRequest({body:t.body,inlineFileProperties:r}):!((i=t.metadata)!=null&&i.onlyPathParameters)}includePathParametersInWrappedRequest({request:t,inlinePathParameters:e}){var r,i;return e&&((i=(r=t.metadata)==null?void 0:r.includePathParameters)!=null?i:!1)}isFileUploadRequestBody(t){switch(t.type){case"fileUpload":return!0;case"properties":case"referenced":return!1;default:k(t)}}resolveEnvironmentName(t){if(this._ir.environments==null)return;let e=this._ir.environments.environments;switch(e.type){case"singleBaseUrl":{let r=e.environments.find(i=>i.id===t);return r==null?void 0:r.name}case"multipleBaseUrls":{let r=e.environments.find(i=>i.id===t);return r==null?void 0:r.name}default:k(e)}}isSingleEnvironmentID(t){return typeof t=="string"}isMultiEnvironmentValues(t){return typeof t=="object"}validateMultiEnvironmentUrlValues(t){if(this._ir.environments==null)return this.errors.add({severity:T.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;let e=this._ir.environments.environments;switch(e.type){case"singleBaseUrl":return this.errors.add({severity:T.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;case"multipleBaseUrls":{let r=e.environments[0];if(r==null)return this.errors.add({severity:T.Critical,message:"Multiple environments are not supported; use the baseUrl option instead"}),!1;let i=new Set(ne(r.urls));for(let o of ne(t))i.has(o)&&i.delete(o);return i.size>0?(this.errors.add({severity:T.Critical,message:`The provided environments are invalid; got: [${Object.keys(t).join(", ")}], expected: [${ne(r.urls).join(", ")}]`}),!1):!0}}}getValueAsNumber({value:t}){if(typeof t!="number"){this.errors.add({severity:T.Critical,message:this.newTypeMismatchError({expected:"number",value:t}).message});return}return t}getValueAsBoolean({value:t}){if(typeof t!="boolean"){this.errors.add({severity:T.Critical,message:this.newTypeMismatchError({expected:"boolean",value:t}).message});return}return t}getValueAsString({value:t}){if(typeof t!="string"){this.errors.add({severity:T.Critical,message:this.newTypeMismatchError({expected:"string",value:t}).message});return}return t}isOptional(t){switch(t.type){case"nullable":return this.isOptional(t.value);case"optional":return!0;case"named":{let e=this.resolveNamedType({typeId:t.value});return e==null?!1:e.type==="alias"?this.isNullable(e.typeReference):!1}}return!1}isNullable(t){switch(t.type){case"nullable":return!0;case"optional":return this.isNullable(t.value);case"named":{let e=this.resolveNamedType({typeId:t.value});return e==null?!1:e.type==="alias"?this.isNullable(e.typeReference):!1}}return!1}newAuthMismatchError({auth:t,values:e}){return new Error(`Expected auth type ${t.type}, got ${e.type}`)}newParameterNotRecognizedError(t){return new Error(`"${t}" is not a recognized parameter for this endpoint`)}newTypeMismatchError({expected:t,value:e}){return new Error(`Expected ${t}, got ${typeof e}`)}includeRequestBodyInWrappedRequest({body:t,inlineFileProperties:e}){switch(t.type){case"properties":case"referenced":return!0;case"fileUpload":return this.includeFileUploadBodyInWrappedRequest({fileUpload:t,inlineFileProperties:e});default:k(t)}}includeFileUploadBodyInWrappedRequest({fileUpload:t,inlineFileProperties:e}){return this.fileUploadHasBodyProperties({fileUpload:t})||e&&this.fileUploadHasFileProperties({fileUpload:t})}fileUploadHasBodyProperties({fileUpload:t}){return t.properties.some(e=>{switch(e.type){case"file":case"fileArray":return!1;case"bodyProperty":return!0;default:k(e)}})}fileUploadHasFileProperties({fileUpload:t}){return t.properties.some(e=>{switch(e.type){case"file":case"fileArray":return!0;case"bodyProperty":return!1;default:k(e)}})}isListTypeReference(t){return t.type==="optional"?this.isListTypeReference(t.value):t.type==="list"||t.type==="set"}parsedEndpointMatches({endpoint:t,parsedEndpoint:e}){return t.location.method===e.method&&t.location.path===e.path}};l();u();var Ve={};It(Ve,{AstNode:()=>y,ClassInstantiation:()=>K,ClassReference:()=>F,Class_:()=>O,CodeBlock:()=>J,KeywordArgument:()=>X,KeywordParameter:()=>q,Method:()=>M,MethodInvocation:()=>Z,MethodKind:()=>D,Module_:()=>Y,Parameter:()=>v,Type:()=>$,TypeLiteral:()=>de,TypeParameter:()=>Q,Writer:()=>R,begin:()=>Qr,classReference:()=>Hr,class_:()=>Wr,codeblock:()=>Ce,comment:()=>jr,falseValue:()=>Mr,ifElse:()=>Zr,instantiateClass:()=>Kr,invokeMethod:()=>Xr,keywordArgument:()=>Jr,method:()=>zr,module:()=>Vr,nilValue:()=>Yr,parameters:()=>Or,positionalArgument:()=>qr,raise:()=>en,trueValue:()=>Dr,typeParameter:()=>Gr,wrapInModules:()=>tn});l();u();l();u();l();u();l();u();l();u();l();u();l();u();l();u();var Tt,Et,ae=(Et=(Tt=m.env.FERN_STACK_TRACK)==null?void 0:Tt.toLowerCase())!=null?Et:"",P=ae!==""&&ae!=="0"&&ae!=="false",Oe=["single","multiline","box"].includes(ae)?ae:"single";P&&(Error.stackTraceLimit=50);var Cr=new Set(["SdkGeneratorCLI","runCli","LoggerImpl","Array.forEach"]),Br=new Set(["stacktrace"]);function Re({maxFrames:n=50,skip:t=0,filterPaths:e=[],filterFunctions:r=[],stopOn:i=[],filterNode:o=!0,filterJs:s=!0,formatFilename:h=c=>c}={}){var p;if(!P)return[];r=[...r,...Cr],e=[...e,...Br],i=[...i,"runInteractiveTask"];let c=!1;return((p=new Error().stack)!=null?p:"").split(`
2
+ `).map(d=>{let w=d.match(/at\s+(.*)\s+\((.*):(\d+):(\d+)\)/);if(w&&w.length===5){let[,x,g,C,we]=w;if(!x||!g||!C||!we)return;if(c||i.some(Rt=>x==null?void 0:x.includes(Rt))){c=!0;return}switch(x){case"Object.<anonymous>":x="";break;case"Object.object":case"Object.alias":case"Object.union":case"Object.enum":case"Object.undiscriminatedUnion":x=`${x.substring(x.indexOf(".")+1)}()=> { ... }`;break}return{fn:x,path:h(g),position:`${C}:${we}`}}}).filter(d=>{var w,x;return d&&!r.some(g=>d.fn.includes(g))&&!(o&&((w=d.path)!=null&&w.startsWith("node:")))&&!(s&&((x=d.path)!=null&&x.endsWith(".js")))&&!e.some(g=>d.path.includes(g))}).slice(t,t+n)}var Se=class{constructor({maxFrames:t=50,skip:e=0,filterPaths:r=[],filterFunctions:i=[],stopOn:o=[],filterNode:s=!0,filterJs:h=!0,multiline:c=!1,formatFilename:p=d=>d}={}){f(this,"maxFrames");f(this,"skip");f(this,"filterPaths");f(this,"filterFunctions");f(this,"stopOn");f(this,"filterNode");f(this,"filterJs");f(this,"multiline");f(this,"formatFilename");f(this,"tracking",new WeakMap);this.maxFrames=t,this.skip=e,this.filterPaths=r,this.filterFunctions=i,this.stopOn=o,this.filterNode=s,this.filterJs=h,this.multiline=c,this.formatFilename=p}tag(t){let e=this.tracking.get(t)||new Set;Re({maxFrames:this.maxFrames,skip:this.skip,filterPaths:this.filterPaths,filterFunctions:this.filterFunctions,stopOn:this.stopOn,filterNode:this.filterNode,filterJs:this.filterJs,formatFilename:this.formatFilename}).forEach(r=>e.add(r)),this.tracking.set(t,e)}trace(t){if(!P)return"";let e=this.tracking.get(t);return e?[...e].map(r=>`${this.multiline?`
3
+ `:""}${r.fn} - ${r.path}:${r.position}`).join(""):""}frames(t){let e=this.tracking.get(t);return e?[...e]:[]}free(t){this.tracking.delete(t)}clear(){this.tracking=new WeakMap}},U;function vt({maxFrames:n=50,skip:t=0,filterPaths:e=[],filterFunctions:r=[],stopOn:i=[],filterNode:o=!0,filterJs:s=!0,multiline:h=!1,formatFilename:c=p=>p}={}){P&&(U!=null||(U=new Se({maxFrames:n,skip:t,filterPaths:e,filterFunctions:r,stopOn:i,filterNode:o,filterJs:s,multiline:h,formatFilename:c})))}function At(n){U==null||U.tag(n)}function We(n){var t;return(t=U==null?void 0:U.frames(n))!=null?t:[]}var H=class{constructor(){At(this)}};l();u();var be=class{formatMultiple(t){return Promise.all(t.map(e=>this.format(e)))}formatMultipleSync(t){return t.map(e=>this.formatSync(e))}},fe=class extends be{async format(t){return t}formatSync(t){return t}};l();u();l();u();l();u();var b=class extends H{constructor(e){super();f(this,"value");this.value=e}write(e){typeof this.value=="string"?e.write(this.value):typeof this.value=="function"?this.value(e):this.value.write(e)}};var _r=4;vt({skip:0,maxFrames:15,filterFunctions:["Abstract"]});var le=class{constructor(){f(this,"lineBuffer",[]);f(this,"indentLevel",0);f(this,"hasWrittenAnything",!1);f(this,"lastCharacterIsSemicolon",!1);f(this,"lastCharacterIsNewline",!1);f(this,"nodeStackFrames",[])}get buffer(){return P&&this.nodeStackFrames.length>0&&this.writeInternal(`
4
+ `),this.lineBuffer.join(`
5
+ `)+(this.lastCharacterIsNewline?`
6
+ `:"")}write(...t){for(let e of t)if(e!=null)if(typeof e=="string"){let r=e.length>0&&e.endsWith(`
7
+ `),i=r?e.substring(0,e.length-1):e,o=this.getIndentString(),s=i.replaceAll(`
8
+ `,`
9
+ ${o}`);this.isAtStartOfLine()&&(s=o+s),r&&(s+=`
10
+ `),this.writeInternal(s)}else this.writeNode(e)}writeStatement(...t){this.write(...t),this.write(";"),this.writeNewLineIfLastLineNot()}writeNoIndent(t){let e=this.indentLevel;this.indentLevel=0,this.write(t),this.indentLevel=e}writeNode(t){P&&this.nodeStackFrames.push(...We(t)),t.write(this),P&&Oe!=="single"&&this.writeInternal(`
11
+ `)}writeNodeOrString(t){if(typeof t=="string"){this.write(t);return}this.writeNode(t)}writeNodeStatement(t){this.writeNode(t),this.write(";"),this.writeNewLineIfLastLineNot()}writeTextStatement(t){new b(t).write(this),t.endsWith(";")||this.write(";"),this.writeNewLineIfLastLineNot()}controlFlow(t,e){new b(t).write(this),this.write(" (",e,")"),this.pushScope()}controlFlowWithoutStatement(t){new b(t).write(this),this.pushScope()}endControlFlow(){this.popScope()}contiguousControlFlow(t,e){this.dedent(),this.write("} "),new b(t).write(this),this.write(" (",e,")"),this.pushScope()}alternativeControlFlow(t){this.dedent(),this.write("} "),new b(t).write(this),this.pushScope()}pushScope(){this.writeLine("{"),this.indent()}popScope(t=!0){this.dedent(),this.writeNewLineIfLastLineNot(),t?this.writeLine("}"):this.write("}")}writeLine(...t){this.write(...t.length===0?[""]:t),this.writeNewLineIfLastLineNot()}newLine(){this.writeInternal(`
12
+ `)}writeSemicolonIfLastCharacterIsNot(){this.lastCharacterIsSemicolon||this.writeInternal(";")}writeNewLineIfLastLineNot(){this.lastCharacterIsNewline||this.writeInternal(`
13
+ `)}indent(){this.indentLevel++}dedent(){this.indentLevel--}delimit({nodes:t,delimiter:e,writeFunction:r}){if(t.length>0){let i=t[0];i!=null&&r(i);for(let o=1;o<t.length;o++){this.write(e);let s=t[o];s!=null&&r(s)}}}toString(){return this.buffer}writeInternal(t){if(t.length===0)return;let e=!this.lastCharacterIsNewline;this.hasWrittenAnything=!0,this.lastCharacterIsNewline=t.endsWith(`
14
+ `),this.lastCharacterIsSemicolon=t.endsWith(";");let r=t.split(`
15
+ `),i=P&&!this.shouldSkipTracking(r)&&this.lastCharacterIsNewline;e&&(this.lastLine=`${this.lastLine}${r.shift()||""}`),this.lastCharacterIsNewline&&r.pop(),this.lineBuffer.push(...r),i&&this.appendTrackingComment()}set lastLine(t){this.lineBuffer.length>0?this.lineBuffer[this.lineBuffer.length-1]=t:this.lineBuffer.push(t)}get lastLine(){return this.lineBuffer[this.lineBuffer.length-1]||""}shouldSkipTracking(t){return!1}formatStack(t,e=""){return t.map(r=>`${e?`(${e}) `:""} ${r.fn} - ${r.path} : ${r.position}`)}filterStack(t){return t.filter(e=>!e.fn.startsWith(`${this.constructor.name}.`))}appendTrackingComment(){let t=[...this.formatStack(this.filterStack(Re({maxFrames:15,skip:3}))),...this.formatStack(this.filterStack(this.nodeStackFrames),"node")];switch(this.nodeStackFrames.length=0,Oe){case"single":return this.singleLineTrackingComment(t);case"multiline":return this.multiLineTrackingComment(t);case"box":return this.boxTrackingComment(t)}}singleLineTrackingComment(t){this.lastLine=`${this.lastLine} // ${t.join(" ")}`}multiLineTrackingComment(t){this.lineBuffer.push(...t.map(e=>` // ${e}`))}boxTrackingComment(t){this.lineBuffer.push("/*",...t.map(e=>` ${e}`),"*/")}isAtStartOfLine(){return this.lastCharacterIsNewline||!this.hasWrittenAnything}getIndentString(){return" ".repeat(this.indentLevel*this.getTabSize())}getTabSize(){return _r}};l();u();l();u();var Ur=2,R=class extends le{constructor({customConfig:e,formatter:r}){super();f(this,"customConfig");f(this,"formatter");f(this,"requires",new Set);f(this,"_indentLevel",0);this.customConfig=e,this.formatter=r!=null?r:new fe}addRequire(e){this.requires.add(e)}get currentIndentLevel(){return this._indentLevel}indent(){this._indentLevel++,super.indent()}dedent(){this._indentLevel--,super.dedent()}getTabSize(){return Ur}};var re=class extends R{constructor({customConfig:t,formatter:e}){super({customConfig:t,formatter:e})}async toStringAsync(){let t=this.getContent();if(this.formatter!=null)try{return this.formatter.format(t)}catch(e){throw new Error(`Failed to format Ruby file: ${e}
16
+ ${t}`)}return t}toString(){let t=this.getContent();if(this.formatter!=null)try{return this.formatter.formatSync(t)}catch(e){throw new Error(`Failed to format Ruby file: ${e}
17
+ ${t}`)}return t}getContent(){let t=this.stringifyRequires();return t.length>0?`${t}
18
+
19
+ ${this.buffer}`:this.buffer}stringifyRequires(){return Array.from(this.requires).map(t=>`require "${t}"`).join(`
20
+ `)}};var y=class extends H{async toStringAsync({customConfig:t,formatter:e}={}){let r=new re({customConfig:t!=null?t:{},formatter:e});return this.write(r),r.toStringAsync()}toString({customConfig:t,formatter:e}={}){let r=new re({customConfig:t!=null?t:{},formatter:e});return this.write(r),r.toString()}typeDefinitionToString({customConfig:t,formatter:e}={}){let r=new re({customConfig:t!=null?t:{},formatter:e});return this.writeTypeDefinition(r),r.toString()}writeTypeDefinition(t){}};var Fr=120,$r=2,N=class extends y{constructor({docs:e}){super();f(this,"docs");this.docs=e}write(e){this.docs!=null&&this.docs.split(`
21
+ `).forEach(r=>{this.wrapLine(r,e).forEach(o=>{e.writeLine(`# ${o}`)})})}wrapLine(e,r){let i=r.currentIndentLevel*2,o=Fr-i-$r;if(e.length<=o)return[e];if(o<20)return[e];let s=e.split(/(\s+)/),h=[],c="";for(let p of s){if(p===""||c===""&&/^\s+$/.test(p))continue;let d=c+p;d.length<=o?c=d:(c.trim()!==""&&h.push(c.trimEnd()),c=p.trimStart(),c.length>o&&(h.push(c),c=""))}return c.trim()!==""&&h.push(c.trimEnd()),h.length===0?[e]:h}};l();u();l();u();l();u();var F=class extends y{constructor({name:e,modules:r,fullyQualified:i}){super();f(this,"name");f(this,"modules");f(this,"fullyQualified");this.name=e,this.modules=r!=null?r:[],this.fullyQualified=i!=null?i:!1}write(e){if(this.fullyQualified||this.modules.length>0){let r=[...this.modules,this.name].join("::");e.write(r);return}e.write(this.name)}};var $=class n extends y{constructor(e){super();f(this,"internalType");this.internalType=e}write(e){var r,i,o;if(this.internalType)switch((r=this.internalType)==null?void 0:r.type){case"integer":e.write("Integer");return;case"string":e.write("String");return;case"class":e.writeNode(this.internalType.reference);return;case"instance":break;case"boolean":e.write("Internal::Types::Boolean");return;case"nil":break;case"top":break;case"bot":break;case"void":break;case"boolish":break;case"union":if(this.internalType.elems.length===2&&((o=(i=this.internalType.elems[1])==null?void 0:i.internalType)==null?void 0:o.type)==="nil"){let s=this.internalType.elems[0];s!=null&&s.write(e)}break;case"intersection":break;case"array":e.write("Internal::Types::Array["),this.internalType.elem.write(e),e.write("]");return;case"hash":e.write("Internal::Types::Hash["),this.internalType.keyType.write(e),e.write(", "),this.internalType.valueType.write(e),e.write("]");return;case"object":e.write("Object");break;case"singleton":break;case"generic":break;case"self":break;case"tuple":break;default:k(this.internalType)}}writeTypeDefinition(e){if(this.internalType)switch(this.internalType.type){case"self":e.write("self");break;case"class":e.write(this.internalType.reference.toString(e));break;case"instance":e.write("instance");break;case"boolean":e.write("bool");break;case"nil":e.write("nil");break;case"top":e.write("top");break;case"bot":e.write("bot");break;case"void":e.write("void");break;case"boolish":e.write("boolish");break;case"string":e.write("String");break;case"integer":e.write("Integer");break;case"union":e.delimit({nodes:this.internalType.elems,delimiter:" | ",writeFunction:r=>r.writeTypeDefinition(e)});break;case"intersection":e.delimit({nodes:this.internalType.elems,delimiter:" & ",writeFunction:r=>r.writeTypeDefinition(e)});break;case"array":e.write("Array["),this.internalType.elem.writeTypeDefinition(e),e.write("]");break;case"hash":e.write("Hash["),this.internalType.keyType.writeTypeDefinition(e),e.write(", "),this.internalType.valueType.writeTypeDefinition(e),e.write("]");break;case"object":e.write(this.internalType.klass);break;case"singleton":e.write("singleton("),e.write(this.internalType.klass),e.write(")");break;case"tuple":e.write("["),e.delimit({nodes:this.internalType.elems,delimiter:", ",writeFunction:r=>r.write(e)}),e.write("]");break;case"generic":e.write(`${this.internalType.baseKlass}[`),e.delimit({nodes:this.internalType.parameters,delimiter:", ",writeFunction:r=>r.writeTypeDefinition(e)}),e.write("]");break;default:k(this.internalType)}else e.write("untyped")}static untyped(){return new this(void 0)}static self(){return new this({type:"self"})}static class_(e){return new this({type:"class",reference:new F({name:e.name,modules:e.modules,fullyQualified:!0})})}static instance(){return new this({type:"instance"})}static boolean(){return new this({type:"boolean"})}static nil(){return new this({type:"nil"})}static top(){return new this({type:"top"})}static bot(){return new this({type:"bot"})}static void(){return new this({type:"void"})}static boolish(){return new this({type:"boolish"})}static string(){return new this({type:"string"})}static integer(){return new this({type:"integer"})}static union(e){return new this({type:"union",elems:e})}static intersection(e){return new this({type:"intersection",elems:e})}static array(e){return new this({type:"array",elem:e})}static hash(e,r){return new this({type:"hash",keyType:e,valueType:r})}static object(e){return new this({type:"object",klass:e})}static singleton(e){return new this({type:"singleton",klass:e})}static tuple(e){return new this({type:"tuple",elems:e})}static generic(e,r){return new this({type:"generic",baseKlass:e,parameters:r})}static nilable(e){return n.union([e,n.nil()])}nilable(){return n.nilable(this)}};var D={Instance:"instance",Class_:"class"},kt={Public:"public",Private:"private",Protected:"protected"},M=class extends y{constructor({name:e,docstring:r,kind:i,visibility:o,parameters:s,returnType:h,statements:c,splatOptionDocs:p}){var d,w;super();f(this,"name");f(this,"docstring");f(this,"kind");f(this,"positionalParameters");f(this,"keywordParameters");f(this,"positionalSplatParameter");f(this,"keywordSplatParameter");f(this,"yieldParameter");f(this,"visibility");f(this,"statements");f(this,"returnType");f(this,"splatOptionDocs");this.name=e,this.docstring=r,this.kind=i!=null?i:D.Instance,this.visibility=o!=null?o:kt.Public,this.positionalParameters=(d=s==null?void 0:s.positional)!=null?d:[],this.keywordParameters=(w=s==null?void 0:s.keyword)!=null?w:[],this.positionalSplatParameter=s==null?void 0:s.positionalSplat,this.keywordSplatParameter=s==null?void 0:s.keywordSplat,this.yieldParameter=s==null?void 0:s.yield,this.returnType=h!=null?h:$.untyped(),this.statements=c!=null?c:[],this.splatOptionDocs=p!=null?p:[]}addStatement(e){this.statements.push(e)}write(e){this.docstring&&new N({docs:this.docstring}).write(e);let r=this.positionalParameters.length>0||this.keywordParameters.length>0||this.keywordSplatParameter!=null;this.docstring&&r&&e.writeLine("#");for(let i of this.positionalParameters){e.write(`# @option ${i.name} [`);let o=new R({customConfig:e.customConfig});i.type.writeTypeDefinition(o),e.write(this.normalizeForYard(o.toString())),e.write("]"),e.newLine()}for(let i of this.keywordParameters){e.write(`# @param ${i.name} [`);let o=new R({customConfig:e.customConfig});i.type.writeTypeDefinition(o),e.write(this.normalizeForYard(o.toString())),e.write("]"),i.docs&&e.write(` ${i.docs}`),e.newLine()}if(this.keywordSplatParameter!=null){e.write(`# @param ${this.keywordSplatParameter.name} [`);let i=new R({customConfig:e.customConfig});this.keywordSplatParameter.type.writeTypeDefinition(i),e.write(this.normalizeForYard(i.toString())),e.write("]"),this.keywordSplatParameter.docs&&e.write(` ${this.keywordSplatParameter.docs}`),e.newLine()}for(let i of this.splatOptionDocs)e.writeLine(`# ${i}`);if(this.returnType!=null){(r||this.docstring)&&e.writeLine("#"),e.write("# @return [");let i=new R({customConfig:e.customConfig});this.returnType.writeTypeDefinition(i),e.write(this.normalizeForYard(i.toString())),e.write("]"),e.newLine()}switch(this.visibility!==kt.Public&&(e.write(this.visibility),this.kind===D.Class_&&e.write("_class_method"),e.write(" ")),this.kind){case D.Instance:e.write(`def ${this.name}`);break;case D.Class_:e.write(`def self.${this.name}`);break}this.parameters.length&&(e.write("("),e.delimit({nodes:this.parameters,delimiter:", ",writeFunction:i=>i.write(e)}),e.write(")")),this.statements.length?(e.newLine(),e.indent(),this.statements.forEach((i,o)=>{i.write(e),o<this.statements.length-1&&e.newLine()}),e.writeNewLineIfLastLineNot(),e.dedent(),e.write("end")):e.write("; end"),e.newLine()}writeTypeDefinition(e){e.write(`def ${this.name}: (`),this.parameters.forEach((r,i)=>{r.writeTypeDefinition(e),i<this.parameters.length-1&&e.write(", ")}),e.write(") -> "),this.returnType.writeTypeDefinition(e)}normalizeForYard(e){let r=e.replace(/\s*\|\s*/g,", ");return r=r.replace(/\bbool\b/g,"Boolean"),r=r.replace(/(^|,\s*)nil(?:,\s*nil)+(?=,|\]|$)/g,"$1nil"),r=r.replace(/Hash\[untyped,\s*untyped\]/g,"Hash"),r}get parameters(){return[...this.positionalParameters,...this.keywordParameters,this.positionalSplatParameter,this.keywordSplatParameter,this.yieldParameter].flatMap(e=>e!==void 0?e:[])}};l();u();var Y=class n extends y{constructor({name:e,namespace:r,typeParameters:i,docstring:o,statements:s}){super();f(this,"name");f(this,"namespace");f(this,"typeParameters");f(this,"docstring");f(this,"statements");this.name=e,this.namespace=r!=null?r:new Set,this.typeParameters=i!=null?i:[],this.docstring=o,this.statements=s!=null?s:[],this.populateChildNamespaces()}addStatement(e){this.statements.push(e)}write(e){this.docstring&&new N({docs:this.docstring}).write(e),e.write(`module ${this.name}`),this.statements.length?(e.newLine(),e.indent(),this.statements.forEach((r,i)=>{r.write(e),i<this.statements.length-1&&e.newLine()}),e.dedent(),e.write("end")):e.write("; end"),e.newLine()}writeTypeDefinition(e){e.write(`module ${this.name}`),this.typeParameters.length&&(e.write("["),e.delimit({nodes:this.typeParameters,delimiter:", ",writeFunction:r=>r.writeTypeDefinition(e)}),e.write("]")),e.newLine(),this.statements.length&&(e.indent(),this.statements.forEach(r=>{r.writeTypeDefinition(e),e.newLine()}),e.dedent()),e.write("end")}populateChildNamespaces(){this.statements.filter(e=>e instanceof n||e instanceof O).forEach(e=>{e.namespace=new Set([...this.namespace,this]),e.populateChildNamespaces()})}get fullyQualifiedNamespace(){return[...this.namespace,this].map(e=>e.name).join("::")}};var O=class extends Y{constructor({name:e,superclass:r,typeParameters:i,docstring:o,statements:s}){super({name:e,docstring:o,typeParameters:i});f(this,"superclass");f(this,"statements");f(this,"methods",[]);this.superclass=r,this.statements=s!=null?s:[]}addStatement(e){this.statements.push(e)}addStatements(e){this.statements.push(...e)}addInstanceMethod(e,r,i){let o=new M({name:e,kind:D.Instance,returnType:r,statements:i});this.addMethod(o)}addMethod(e){this.methods.push(e)}addMethods(e){e.forEach(r=>this.addMethod(r))}write(e){if(this.docstring&&new N({docs:this.docstring}).write(e),e.write(`class ${this.name}`),this.superclass&&(e.write(" < "),this.superclass.write(e)),!this.hasBody()){e.writeLine("; end");return}this.statements.length&&(e.newLine(),e.indent(),this.statements.forEach((r,i)=>{r.write(e),e.newLine()}),e.dedent()),this.methods.length&&(e.newLine(),e.indent(),this.methods.forEach(r=>{r.write(e)}),e.dedent()),e.writeLine("end")}hasBody(){return this.statements.length>0||this.methods.length>0}writeTypeDefinition(e){e.write(`class ${this.name}`),this.typeParameters.length&&(e.write("["),e.delimit({nodes:this.typeParameters,delimiter:", ",writeFunction:r=>r.writeTypeDefinition(e)}),e.write("]")),this.superclass&&(e.write(" < "),this.superclass.write(e)),e.newLine(),this.statements.length&&(e.indent(),this.statements.forEach(r=>{r.writeTypeDefinition(e),e.newLine()}),e.dedent()),e.write("end")}};l();u();var K=class extends y{constructor({classReference:e,arguments_:r}){super();f(this,"classReference");f(this,"arguments_");this.classReference=e,this.arguments_=r}write(e){e.writeNode(this.classReference),e.write("."),e.write("new"),e.write("("),this.arguments_.length>1?(e.indent(),e.newLine(),this.arguments_.forEach((r,i)=>{i>0&&(e.write(","),e.newLine()),r.write(e)}),e.newLine(),e.dedent()):this.arguments_.forEach((r,i)=>{i>0&&e.write(", "),r.write(e)}),e.write(")")}};l();u();var J=class extends y{constructor(e){super();f(this,"arg");this.arg=e}write(e){return new b(this.arg).write(e)}};l();u();var X=class extends y{constructor({name:e,value:r}){super();f(this,"name");f(this,"value");this.name=e,this.value=r}write(e){e.write(`${this.name}: `),this.value.write(e)}};l();u();l();u();var v=class extends y{constructor({name:e,type:r,optional:i,docs:o}){super();f(this,"name");f(this,"type");f(this,"optional");f(this,"docs");this.name=e,this.type=r!=null?r:$.untyped(),this.optional=i!=null?i:!1,this.docs=o}};var q=class extends v{constructor({name:e,type:r,initializer:i,optional:o}){super({name:e,type:r,optional:o});f(this,"initializer");this.initializer=i}write(e){e.write(`${this.name}:`),this.initializer&&(e.write(" "),e.writeNode(this.initializer))}writeTypeDefinition(e){this.optional&&e.write("?"),e.write(`${this.name}: `),this.type.writeTypeDefinition(e)}};l();u();var ue=class extends v{constructor(){super(...arguments);f(this,"initializer")}write(e){e.write(`**${this.name}`)}writeTypeDefinition(e){e.write("**"),this.type.writeTypeDefinition(e)}};l();u();var Z=class extends y{constructor({on:e,method:r,arguments_:i,keywordArguments:o,block:s}){super();f(this,"on");f(this,"method");f(this,"arguments_");f(this,"keywordArguments");f(this,"block");this.on=e,this.method=r,this.arguments_=i,this.keywordArguments=o,this.block=s}write(e){this.on.write(e),e.write("."),e.write(this.method),e.write("(");let r=[];for(let i of this.arguments_)r.push({kind:"positional",node:i});for(let i of this.keywordArguments||[])r.push({kind:"keyword",arg:i});if(r.length>1?(e.indent(),e.newLine(),r.forEach((i,o)=>{o>0&&(e.write(","),e.newLine()),St(e,i)}),e.newLine(),e.dedent()):r.forEach((i,o)=>{o>0&&e.write(", "),St(e,i)}),e.write(")"),this.block){let[i,o]=this.block;e.write(" do"),i.length>0&&(e.write(" |"),i.forEach((s,h)=>{h>0&&e.write(", "),e.write(s)}),e.write("|")),e.newLine(),e.indent();for(let s of o)s.write(e),e.writeNewLineIfLastLineNot();e.dedent(),e.write("end")}}};function St(n,t){switch(t.kind){case"positional":t.node.write(n);break;case"keyword":t.arg.write(n);break;default:k(t)}}l();u();var he=class extends y{constructor({value:e}){super();f(this,"value");this.value=e}write(e){this.value.write(e)}};l();u();var ce=class extends v{constructor({name:e,type:r,optional:i,initializer:o}){super({name:e,type:r,optional:i});f(this,"initializer");this.initializer=o}write(e){e.write(this.name),this.initializer&&e.write(` = ${this.initializer.write(e)}`)}writeTypeDefinition(e){this.optional&&e.write("?"),this.type.writeTypeDefinition(e)}};l();u();var pe=class extends v{write(t){t.write(`*${this.name}`)}writeTypeDefinition(t){t.write("*"),this.type.writeTypeDefinition(t)}};l();u();var de=class n extends y{constructor(e){super();f(this,"internalType");this.internalType=e}static string(e){return new this({type:"str",value:e})}static integer(e){return new this({type:"int",value:e})}static float(e){return new this({type:"float",value:e})}static boolean(e){return new this({type:"bool",value:e})}static hash(e){return new this({type:"hash",entries:e})}static set(e){return new this({type:"set",values:e})}static list(e){return new this({type:"list",values:e})}static nop(){return new this({type:"nop"})}static nil(){return new this({type:"nil"})}static isNop(e){return e instanceof n&&e.internalType.type==="nop"}static isNil(e){return e instanceof n&&e.internalType.type==="nil"}write(e){switch(this.internalType.type){case"str":{this.internalType.value.includes("'")||this.internalType.value.includes("#")?e.write(`"${this.internalType.value.replaceAll('"','\\"')}"`):e.write(`'${this.internalType.value}'`);break}case"int":{e.write(this.internalType.value.toString());break}case"float":{e.write(this.internalType.value.toString());break}case"bool":{e.write(this.internalType.value?"true":"false");break}case"hash":{let r=this.internalType.entries.filter(i=>!n.isNop(i.key)&&!n.isNop(i.value));if(r.length===0){e.write("{}");break}e.write(`{
22
+ `),r.forEach((i,o)=>{o>0&&e.writeLine(","),e.indent();let s=!1;if(i.key instanceof n&&i.key.internalType.type==="str"){let h=i.key.internalType.value;/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(h)&&(e.write(`${h}:`),s=!0)}s||(i.key.write(e),e.write(" =>")),e.write(" "),i.value.write(e),e.dedent()}),e.write(`
23
+ }`);break}case"set":{let r=this.internalType.values.filter(i=>!n.isNop(i));if(r.length===0){e.write("Set.new([])");break}e.write("Set.new(["),r.forEach((i,o)=>{o>0&&e.write(", "),i.write(e)}),e.write("])");break}case"list":{let r=this.internalType.values.filter(i=>!n.isNop(i));if(r.length===0){e.write("[]");break}e.write("["),r.forEach((i,o)=>{o>0&&e.write(", "),i.write(e)}),e.write("]");break}case"nop":break;case"nil":e.write("nil");break;default:k(this.internalType)}}};l();u();var Ne;(function(n){n[n.Invariant=0]="Invariant",n.Covariant="out",n.Contravariant="in"})(Ne||(Ne={}));var Q=class extends y{constructor({name:e,unchecked:r,bound:i,variance:o,defaultType:s}){super();f(this,"name");f(this,"unchecked");f(this,"bound");f(this,"variance");f(this,"defaultType");this.name=e,this.unchecked=r!=null?r:!1,this.bound=i,this.variance=o!=null?o:Ne.Invariant,this.defaultType=s}write(e){}writeTypeDefinition(e){this.unchecked&&e.write("unchecked "),this.variance!=Ne.Invariant&&e.write(`${this.variance} `),e.write(this.name),this.bound&&(e.write(" < "),this.bound.writeTypeDefinition(e)),this.defaultType&&(e.write(" = "),this.defaultType.writeTypeDefinition(e))}};l();u();var me=class extends v{constructor(){super(...arguments);f(this,"initializer")}write(e){e.write(`&${this.name}`)}};l();u();var Ie=class extends y{constructor({body:e,rescues:r}){super();f(this,"body");f(this,"rescues");this.body=e,this.rescues=r}write(e){e.write("begin"),e.writeLine(),this.body&&(e.indent(),this.body.write(e),e.writeNewLineIfLastLineNot(),e.dedent());for(let{errorClass:r,errorVariable:i,body:o}of this.rescues)e.write("rescue"),r&&(e.write(" "),r.write(e)),i&&(e.write(" => "),e.write(i)),e.writeLine(),o&&(e.indent(),o.write(e),e.writeNewLineIfLastLineNot(),e.dedent());e.write("end")}};l();u();var Le=class extends y{constructor({if:e,elseIf:r,elseBody:i}){super();f(this,"ifBranch");f(this,"elseIfs");f(this,"elseBody");this.ifBranch=e,this.elseIfs=r!=null?r:[],this.elseBody=i?Array.isArray(i)?i:[i]:void 0}write(e){e.write("if "),this.ifBranch.condition.write(e),e.writeLine(),e.indent();for(let r of this.ifBranch.thenBody)r.write(e),e.writeNewLineIfLastLineNot();e.dedent();for(let r of this.elseIfs){e.write("elsif "),r.condition.write(e),e.writeLine(),e.indent();for(let i of r.thenBody)i.write(e),e.writeNewLineIfLastLineNot();e.dedent()}if(this.elseBody&&this.elseBody.length>0){e.writeLine("else"),e.indent();for(let r of this.elseBody)r.write(e),e.writeNewLineIfLastLineNot();e.dedent()}e.write("end"),e.writeNewLineIfLastLineNot()}};l();u();var Pe=class extends y{constructor({errorClass:e,message:r}){super();f(this,"errorClass");f(this,"message");this.errorClass=e,this.message=r}write(e){e.write("raise"),this.errorClass&&(e.write(" "),this.errorClass.write(e)),this.message&&(this.errorClass&&e.write(", "),this.message.write(e))}};function Ce(n){return new J(n)}function Dr(){return Ce("true")}function Mr(){return Ce("false")}function Yr(){return Ce("nil")}var Or={positional(n){return new ce(n)},keyword(n){return new q(n)},positionalSplat(n){return new pe(n)},keywordSplat(n){return new ue(n)},yield(n){return new me(n)}};function Wr(n){return new O(n)}function Vr(n){return new Y(n)}function zr(n){return new M(n)}function jr(n){return new N(n)}function Gr(n){return new Q(n)}function Hr(n){return new F(n)}function Kr(n){return new K(n)}function Jr(n){return new X(n)}function Xr(n){return new Z(n)}function qr(n){return new he(n)}function Zr(n){return new Le(n)}function Qr(n){return new Ie(n)}function en(n){return new Pe(n)}function tn(n,t){let e=n;for(let r of t.toReversed())r.addStatement(e),e=r;return e}l();u();export{f as a,l as b,u as c,k as d,Me as e,T as f,Ye as g,Ve as h};
24
+ /*! Bundled license information:
25
+
26
+ @esbuild-plugins/node-globals-polyfill/Buffer.js:
27
+ (*!
28
+ * The buffer module from node.js, for the browser.
29
+ *
30
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
31
+ * @license MIT
32
+ *)
33
+ */
34
+ //# sourceMappingURL=chunk-TGWLAKQC.js.map