@fern-api/ruby-dynamic-snippets 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/DynamicSnippetsGenerator.cjs +1 -1
- package/cjs/DynamicSnippetsGenerator.cjs.map +1 -1
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs +1 -1
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -1
- package/cjs/index.cjs +1 -1
- package/cjs/index.cjs.map +1 -1
- package/esm/DynamicSnippetsGenerator.js +1 -1
- package/esm/{chunk-55CMLIMK.js → chunk-WYOR4H34.js} +2 -2
- package/esm/{chunk-55CMLIMK.js.map → chunk-WYOR4H34.js.map} +1 -1
- package/esm/{chunk-SBHABCSD.js → chunk-Y7AZOK45.js} +2 -2
- package/esm/context/DynamicSnippetsGeneratorContext.js +1 -1
- package/esm/index.js +1 -1
- package/package.json +1 -1
- /package/esm/{chunk-SBHABCSD.js.map → chunk-Y7AZOK45.js.map} +0 -0
|
@@ -20,7 +20,7 @@ ${this.buffer}`:this.buffer}stringifyRequires(){return Array.from(this.requires)
|
|
|
20
20
|
`)}};var m={};st(m,{AstNode:()=>g,ClassInstantiation:()=>J,ClassReference:()=>_,Class_:()=>j,CodeBlock:()=>X,KeywordArgument:()=>Z,KeywordParameter:()=>Q,Method:()=>W,MethodInvocation:()=>ee,MethodKind:()=>O,Module_:()=>V,Parameter:()=>E,Type:()=>$,TypeLiteral:()=>we,TypeParameter:()=>te,Writer:()=>k,begin:()=>Mi,classReference:()=>Ni,class_:()=>Ei,codeblock:()=>$e,comment:()=>ki,falseValue:()=>bi,ifElse:()=>Fi,instantiateClass:()=>Ci,invokeMethod:()=>Pi,keywordArgument:()=>Li,method:()=>Si,module:()=>Ri,nilValue:()=>Ai,parameters:()=>Ti,positionalArgument:()=>Bi,raise:()=>Ui,trueValue:()=>vi,typeParameter:()=>Ii,wrapInModules:()=>Di});f();u();f();u();f();u();f();u();f();u();var g=class extends H{async toStringAsync({customConfig:t,formatter:e}={}){let r=new ie({customConfig:t!=null?t:{},formatter:e});return this.write(r),r.toStringAsync()}toString({customConfig:t,formatter:e}={}){let r=new ie({customConfig:t!=null?t:{},formatter:e});return this.write(r),r.toString()}typeDefinitionToString({customConfig:t,formatter:e}={}){let r=new ie({customConfig:t!=null?t:{},formatter:e});return this.writeTypeDefinition(r),r.toString()}writeTypeDefinition(t){}};var N=class extends g{constructor({docs:e}){super();l(this,"docs");this.docs=e}write(e){this.docs!=null&&this.docs.split(`
|
|
21
21
|
`).forEach(r=>{e.writeLine(`# ${r}`)})}};f();u();f();u();f();u();var _=class extends g{constructor({name:e,modules:r,fullyQualified:i}){super();l(this,"name");l(this,"modules");l(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 g{constructor(e){super();l(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 a=this.internalType.elems[0];a!=null&&a.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:b(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:b(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 _({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 O={Instance:"instance",Class_:"class"},ur={Public:"public",Private:"private",Protected:"protected"},W=class extends g{constructor({name:e,docstring:r,kind:i,visibility:o,parameters:a,returnType:p,statements:c,splatOptionDocs:h}){var x,y;super();l(this,"name");l(this,"docstring");l(this,"kind");l(this,"positionalParameters");l(this,"keywordParameters");l(this,"positionalSplatParameter");l(this,"keywordSplatParameter");l(this,"yieldParameter");l(this,"visibility");l(this,"statements");l(this,"returnType");l(this,"splatOptionDocs");this.name=e,this.docstring=r,this.kind=i!=null?i:O.Instance,this.visibility=o!=null?o:ur.Public,this.positionalParameters=(x=a==null?void 0:a.positional)!=null?x:[],this.keywordParameters=(y=a==null?void 0:a.keyword)!=null?y:[],this.positionalSplatParameter=a==null?void 0:a.positionalSplat,this.keywordSplatParameter=a==null?void 0:a.keywordSplat,this.yieldParameter=a==null?void 0:a.yield,this.returnType=p!=null?p:$.untyped(),this.statements=c!=null?c:[],this.splatOptionDocs=h!=null?h:[]}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 k({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 k({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 k({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 k({customConfig:e.customConfig});this.returnType.writeTypeDefinition(i),e.write(this.normalizeForYard(i.toString())),e.write("]"),e.newLine()}switch(this.visibility!==ur.Public&&(e.write(this.visibility),this.kind===O.Class_&&e.write("_class_method"),e.write(" ")),this.kind){case O.Instance:e.write(`def ${this.name}`);break;case O.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:[])}};f();u();var V=class n extends g{constructor({name:e,namespace:r,typeParameters:i,docstring:o,statements:a}){super();l(this,"name");l(this,"namespace");l(this,"typeParameters");l(this,"docstring");l(this,"statements");this.name=e,this.namespace=r!=null?r:new Set,this.typeParameters=i!=null?i:[],this.docstring=o,this.statements=a!=null?a:[],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 j).forEach(e=>{e.namespace=new Set([...this.namespace,this]),e.populateChildNamespaces()})}get fullyQualifiedNamespace(){return[...this.namespace,this].map(e=>e.name).join("::")}};var j=class extends V{constructor({name:e,superclass:r,typeParameters:i,docstring:o,statements:a}){super({name:e,docstring:o,typeParameters:i});l(this,"superclass");l(this,"statements");l(this,"methods",[]);this.superclass=r,this.statements=a!=null?a:[]}addStatement(e){this.statements.push(e)}addStatements(e){this.statements.push(...e)}addInstanceMethod(e,r,i){let o=new W({name:e,kind:O.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")}};f();u();var J=class extends g{constructor({classReference:e,arguments_:r}){super();l(this,"classReference");l(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(")")}};f();u();var X=class extends g{constructor(e){super();l(this,"arg");this.arg=e}write(e){return new I(this.arg).write(e)}};f();u();var Z=class extends g{constructor({name:e,value:r}){super();l(this,"name");l(this,"value");this.name=e,this.value=r}write(e){e.write(`${this.name}: `),this.value.write(e)}};f();u();f();u();var E=class extends g{constructor({name:e,type:r,optional:i,docs:o}){super();l(this,"name");l(this,"type");l(this,"optional");l(this,"docs");this.name=e,this.type=r!=null?r:$.untyped(),this.optional=i!=null?i:!1,this.docs=o}};var Q=class extends E{constructor({name:e,type:r,initializer:i,optional:o}){super({name:e,type:r,optional:o});l(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)}};f();u();var he=class extends E{constructor(){super(...arguments);l(this,"initializer")}write(e){e.write(`**${this.name}`)}writeTypeDefinition(e){e.write("**"),this.type.writeTypeDefinition(e)}};f();u();var ee=class extends g{constructor({on:e,method:r,arguments_:i,keywordArguments:o,block:a}){super();l(this,"on");l(this,"method");l(this,"arguments_");l(this,"keywordArguments");l(this,"block");this.on=e,this.method=r,this.arguments_=i,this.keywordArguments=o,this.block=a}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()),lr(e,i)}),e.newLine(),e.dedent()):r.forEach((i,o)=>{o>0&&e.write(", "),lr(e,i)}),e.write(")"),this.block){let[i,o]=this.block;e.write(" do"),i.length>0&&(e.write(" |"),i.forEach((a,p)=>{p>0&&e.write(", "),e.write(a)}),e.write("|")),e.newLine(),e.indent();for(let a of o)a.write(e),e.writeNewLineIfLastLineNot();e.dedent(),e.write("end")}}};function lr(n,t){switch(t.kind){case"positional":t.node.write(n);break;case"keyword":t.arg.write(n);break;default:b(t)}}f();u();var ye=class extends g{constructor({value:e}){super();l(this,"value");this.value=e}write(e){this.value.write(e)}};f();u();var xe=class extends E{constructor({name:e,type:r,optional:i,initializer:o}){super({name:e,type:r,optional:i});l(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)}};f();u();var ge=class extends E{write(t){t.write(`*${this.name}`)}writeTypeDefinition(t){t.write("*"),this.type.writeTypeDefinition(t)}};f();u();var we=class n extends g{constructor(e){super();l(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
22
|
`),r.forEach((i,o)=>{o>0&&e.writeLine(","),e.indent();let a=!1;if(i.key instanceof n&&i.key.internalType.type==="str"){let p=i.key.internalType.value;/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(p)&&(e.write(`${p}:`),a=!0)}a||(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:b(this.internalType)}}};f();u();var Me;(function(n){n[n.Invariant=0]="Invariant",n.Covariant="out",n.Contravariant="in"})(Me||(Me={}));var te=class extends g{constructor({name:e,unchecked:r,bound:i,variance:o,defaultType:a}){super();l(this,"name");l(this,"unchecked");l(this,"bound");l(this,"variance");l(this,"defaultType");this.name=e,this.unchecked=r!=null?r:!1,this.bound=i,this.variance=o!=null?o:Me.Invariant,this.defaultType=a}write(e){}writeTypeDefinition(e){this.unchecked&&e.write("unchecked "),this.variance!=Me.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))}};f();u();var ve=class extends E{constructor(){super(...arguments);l(this,"initializer")}write(e){e.write(`&${this.name}`)}};f();u();var Ue=class extends g{constructor({body:e,rescues:r}){super();l(this,"body");l(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")}};f();u();var De=class extends g{constructor({if:e,elseIf:r,elseBody:i}){super();l(this,"ifBranch");l(this,"elseIfs");l(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()}};f();u();var _e=class extends g{constructor({errorClass:e,message:r}){super();l(this,"errorClass");l(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 $e(n){return new X(n)}function vi(){return $e("true")}function bi(){return $e("false")}function Ai(){return $e("nil")}var Ti={positional(n){return new xe(n)},keyword(n){return new Q(n)},positionalSplat(n){return new ge(n)},keywordSplat(n){return new he(n)},yield(n){return new ve(n)}};function Ei(n){return new j(n)}function Ri(n){return new V(n)}function Si(n){return new W(n)}function ki(n){return new N(n)}function Ii(n){return new te(n)}function Ni(n){return new _(n)}function Ci(n){return new J(n)}function Li(n){return new Z(n)}function Pi(n){return new ee(n)}function Bi(n){return new ye(n)}function Fi(n){return new De(n)}function Mi(n){return new Ue(n)}function Ui(n){return new _e(n)}function Di(n,t){let e=n;for(let r of t.toReversed())r.addStatement(e),e=r;return e}f();u();var Oe=class{constructor({context:t}){l(this,"context");this.context=t}convert(t){if(t.value===null)return this.context.isNullable(t.typeReference)?m.TypeLiteral.nil():(this.context.errors.add({severity:w.Critical,message:"Expected non-null value, but got null"}),m.TypeLiteral.nop());if(t.value===void 0)return m.TypeLiteral.nop();switch(t.typeReference.type){case"list":return this.convertList({list:t.typeReference.value,value:t.value});case"literal":return this.convertLiteral({literalType:t.typeReference.value,value:t.value});case"map":return this.convertMap({map:t.typeReference,value:t.value});case"named":{let e=this.context.resolveNamedType({typeId:t.typeReference.value});return e==null?m.TypeLiteral.nop():this.convertNamed({named:e,value:t.value,as:t.as})}case"optional":return this.convert({typeReference:t.typeReference.value,value:t.value,as:t.as});case"nullable":return this.convert({typeReference:t.typeReference.value,value:t.value,as:t.as});case"primitive":return this.convertPrimitive({primitive:t.typeReference.value,value:t.value,as:t.as});case"set":return this.convertSet({set:t.typeReference.value,value:t.value});case"unknown":return m.TypeLiteral.nop();default:b(t.typeReference)}}convertLiteral({literalType:t,value:e}){switch(t.type){case"boolean":{let r=this.context.getValueAsBoolean({value:e});return r==null?m.TypeLiteral.nop():m.TypeLiteral.boolean(r)}case"string":{let r=this.context.getValueAsString({value:e});return r==null?m.TypeLiteral.nop():m.TypeLiteral.string(r)}default:b(t)}}convertList({list:t,value:e}){return Array.isArray(e)?m.TypeLiteral.list(e.map((r,i)=>{this.context.errors.scope({index:i});try{return this.convert({typeReference:t,value:r})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:w.Critical,message:`Expected array but got: ${typeof e}`}),m.TypeLiteral.nop())}convertSet({set:t,value:e}){return Array.isArray(e)?m.TypeLiteral.set(e.map((r,i)=>{this.context.errors.scope({index:i});try{return this.convert({typeReference:t,value:r})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:w.Critical,message:`Expected array but got: ${typeof e}`}),m.TypeLiteral.nop())}convertMap({map:t,value:e}){return typeof e!="object"||e==null?(this.context.errors.add({severity:w.Critical,message:`Expected object but got: ${e==null?"null":typeof e}`}),m.TypeLiteral.nop()):m.TypeLiteral.hash(Object.entries(e).map(([r,i])=>{this.context.errors.scope(r);try{return{key:this.convert({typeReference:t.key,value:r,as:"key"}),value:this.convert({typeReference:t.value,value:i})}}finally{this.context.errors.unscope()}}))}convertNamed({named:t,value:e,as:r}){switch(t.type){case"alias":return this.convert({typeReference:t.typeReference,value:e,as:r});case"discriminatedUnion":return m.TypeLiteral.nop();case"object":return this.convertObject({object:t,value:e});case"enum":return m.TypeLiteral.nop();case"undiscriminatedUnion":return m.TypeLiteral.nop();default:b(t)}}convertPrimitive({primitive:t,value:e,as:r}){switch(t){case"INTEGER":case"LONG":case"UINT":case"UINT_64":{let i=this.getValueAsNumber({value:e,as:r});return i==null?m.TypeLiteral.nop():m.TypeLiteral.integer(i)}case"FLOAT":case"DOUBLE":{let i=this.getValueAsNumber({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.float(i)}case"BOOLEAN":{let i=this.getValueAsBoolean({value:e,as:r});return i==null?m.TypeLiteral.nop():m.TypeLiteral.boolean(i)}case"BASE_64":case"BIG_INTEGER":case"STRING":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}case"UUID":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}case"DATE":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}case"DATE_TIME":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}default:b(t)}}convertObject({object:t,value:e}){return typeof e!="object"||e==null?(this.context.errors.add({severity:w.Critical,message:`Expected object but got: ${e==null?"null":typeof e}`}),m.TypeLiteral.nop()):m.TypeLiteral.hash(Object.entries(e).map(([r,i])=>{var c;this.context.errors.scope(r);let o=t.properties.find(h=>h.name.wireValue===r),a=(c=o==null?void 0:o.typeReference)!=null?c:{type:"unknown"},p={key:m.TypeLiteral.string(r),value:this.convert({typeReference:a,value:i})};return this.context.errors.unscope(),p}))}getValueAsNumber({value:t,as:e}){let r=e==="key"&&typeof t=="string"?Number(t):t;return this.context.getValueAsNumber({value:r})}getValueAsBoolean({value:t,as:e}){let r=e==="key"?typeof t=="string"?t==="true":!!t:t;return this.context.getValueAsBoolean({value:r})}};var We=class n extends me{constructor({ir:e,config:r}){super({ir:e,config:r});l(this,"ir");l(this,"customConfig");l(this,"dynamicTypeLiteralMapper");this.ir=e,this.customConfig=r.customConfig!=null?r.customConfig:void 0,this.dynamicTypeLiteralMapper=new Oe({context:this})}clone(){return new n({ir:this.ir,config:this.config})}getRootClientClassReference(){return m.classReference({name:this.getRootClientClassName(),modules:[this.getRootModuleName()]})}getRootClientClassName(){return"Client"}getRootModuleName(){var e,r;return Ze((r=(e=this.customConfig)==null?void 0:e.clientModuleName)!=null?r:this.config.organization)}isSingleEnvironmentID(e){return typeof e=="string"}isMultiEnvironmentValues(e){return typeof e=="object"}getEnvironmentTypeReferenceFromID(e){let r=this.resolveEnvironmentName(e);if(r!=null)return m.codeblock(i=>{i.writeNode(this.getEnvironmentClassReference()),i.write("::"),i.write(this.getEnumName(r))})}getEnvironmentClassReference(){return m.classReference({name:"Environment",modules:[this.getRootModuleName()]})}getEnumName(e){return this.getName(e.screamingSnakeCase.safeName)}getMethodName(e){return this.getName(e.snakeCase.safeName)}getPropertyName(e){return this.getName(e.camelCase.safeName)}getName(e){return e}};f();u();var pr="client",Ve=class{constructor({context:t,formatter:e}){l(this,"context");l(this,"formatter");this.context=t,this.formatter=e}async generateSnippet({endpoint:t,request:e}){var i;return await this.buildCodeBlock({endpoint:t,snippet:e}).toStringAsync({customConfig:(i=this.context.customConfig)!=null?i:{},formatter:this.formatter})}generateSnippetSync({endpoint:t,request:e}){var i;return this.buildCodeBlock({endpoint:t,snippet:e}).toString({customConfig:(i=this.context.customConfig)!=null?i:{},formatter:this.formatter})}async generateSnippetAst({endpoint:t,request:e,options:r}){return this.buildCodeBlock({endpoint:t,snippet:e})}buildCodeBlock({endpoint:t,snippet:e}){return m.codeblock(r=>{r.writeNodeStatement(this.constructClient({endpoint:t,snippet:e})),r.newLine(),r.writeNodeStatement(this.callMethod({endpoint:t,snippet:e}))})}constructClient({endpoint:t,snippet:e}){return m.codeblock(r=>{r.addRequire(this.context.getRootModuleName().toLowerCase());let i=this.context.getRootClientClassReference(),o=this.getRootClientBuilderArgs({endpoint:t,snippet:e});r.write(`${pr} = `),r.writeNode(m.instantiateClass({classReference:i,arguments_:o}))})}getRootClientBaseUrlArg({baseUrl:t,environment:e}){if(t!=null&&e!=null)return this.context.errors.add({severity:"CRITICAL",message:"Cannot specify both baseUrl and environment options"}),[];if(t!=null)return[m.keywordArgument({name:"base_url",value:m.TypeLiteral.string(t)})];if(e!=null){if(this.context.isSingleEnvironmentID(e)){let r=this.context.getEnvironmentTypeReferenceFromID(e);return r==null?(this.context.errors.add({severity:"CRITICAL",message:`Environment ID ${e} not found`}),[]):[m.keywordArgument({name:"environment",value:r})]}if(this.context.isMultiEnvironmentValues(e))return this.context.errors.add({severity:"CRITICAL",message:"Multi-environment values are not supported in Ruby snippets yet"}),[]}return[]}getRootClientAuthArgs({auth:t,values:e}){if(e.type!==t.type)return this.addError(this.context.newAuthMismatchError({auth:t,values:e}).message),[];switch(t.type){case"basic":return e.type==="basic"?this.getRootClientBasicAuthArgs({auth:t,values:e}):[];case"bearer":return e.type==="bearer"?this.getRootClientBearerAuthArgs({auth:t,values:e}):[];case"header":return e.type==="header"?this.getRootClientHeaderAuthArgs({auth:t,values:e}):[];case"oauth":return e.type==="oauth"?this.getRootClientOAuthArgs({auth:t,values:e}):[];case"inferred":return this.addWarning("Ruby SDK does not support inferred auth yet"),[];default:b(t)}}addError(t){this.context.errors.add({severity:w.Critical,message:t})}addWarning(t){this.context.errors.add({severity:w.Warning,message:t})}getRootClientBasicAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.username.snakeCase.safeName,value:m.TypeLiteral.string(e.username)}),m.keywordArgument({name:t.password.snakeCase.safeName,value:m.TypeLiteral.string(e.password)})]}getRootClientBearerAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.token.snakeCase.safeName,value:m.TypeLiteral.string(e.token)})]}getRootClientHeaderAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.header.name.name.snakeCase.safeName,value:m.TypeLiteral.string(e.value)})]}getRootClientOAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.clientId.snakeCase.safeName,value:m.TypeLiteral.string(e.clientId)}),m.keywordArgument({name:t.clientSecret.snakeCase.safeName,value:m.TypeLiteral.string(e.clientSecret)})]}getRootClientHeaderArgs({headers:t,values:e}){let r=[];for(let i of t){let o=e[i.name.name.originalName];o!=null&&typeof o=="string"&&r.push(m.keywordArgument({name:i.name.name.snakeCase.safeName,value:m.TypeLiteral.string(o)}))}return r}getRootClientBuilderArgs({endpoint:t,snippet:e}){let r=[];t.auth!=null&&(e.auth!=null?r.push(...this.getRootClientAuthArgs({auth:t.auth,values:e.auth})):this.context.errors.add({severity:"WARNING",message:`Auth with ${t.auth.type} configuration is required for this endpoint`}));let i=this.getRootClientBaseUrlArg({baseUrl:e.baseURL,environment:e.environment});return i.length>0&&r.push(...i),this.context.errors.scope("Headers"),this.context.ir.headers!=null&&e.headers!=null&&r.push(...this.getRootClientHeaderArgs({headers:this.context.ir.headers,values:e.headers})),this.context.errors.unscope(),r}callMethod({endpoint:t,snippet:e}){let r={on:m.codeblock(pr),method:this.getMethod({endpoint:t}),arguments_:[]};switch(t.request.type){case"inlined":r.keywordArguments=this.getMethodArgsForInlinedRequest({request:t.request,snippet:e});break;case"body":r.arguments_=this.getMethodArgsForBodyRequest({request:t.request,snippet:e});break;default:b(t.request)}return m.invokeMethod(r)}getMethodArgsForInlinedRequest({request:t,snippet:e}){let r=[];if(r.push(...this.getNamedParameterArgs({kind:"PathParameters",namedParameters:t.pathParameters,values:e.pathParameters})),r.push(...this.getNamedParameterArgs({kind:"QueryParameters",namedParameters:t.queryParameters,values:e.queryParameters})),r.push(...this.getNamedParameterArgs({kind:"Headers",namedParameters:t.headers,values:e.headers})),t.body!=null)switch(t.body.type){case"properties":r.push(...this.getMethodArgsForPropertiesRequest({request:t.body,snippet:e}));break;case"referenced":case"fileUpload":break;default:b(t.body)}return r}getNamedParameterArgs({kind:t,namedParameters:e,values:r}){let i=[];if(this.context.errors.scope(t),e!=null){let o=this.context.associateByWireValue({parameters:e,values:r!=null?r:{},ignoreMissingParameters:!0});for(let a of o)i.push(m.keywordArgument({name:this.context.getPropertyName(a.name.name),value:this.context.dynamicTypeLiteralMapper.convert(a)}))}return this.context.errors.unscope(),i}getMethodArgsForPropertiesRequest({request:t,snippet:e}){var o;let r=[],i=this.context.associateByWireValue({parameters:t.value,values:(o=this.context.getRecord(e.requestBody))!=null?o:{}});for(let a of i)r.push(m.keywordArgument({name:this.context.getPropertyName(a.name.name),value:this.context.dynamicTypeLiteralMapper.convert(a)}));return r}getMethodArgsForBodyRequest({request:t,snippet:e}){var i;let r=[];if(this.context.errors.scope("PathParameters"),t.pathParameters!=null){let o=this.context.associateByWireValue({parameters:t.pathParameters,values:(i=e.pathParameters)!=null?i:{},ignoreMissingParameters:!0});for(let a of o)r.push(m.positionalArgument({value:this.context.dynamicTypeLiteralMapper.convert(a)}))}if(this.context.errors.unscope(),t.body!=null)switch(t.body.type){case"bytes":this.context.errors.add({severity:"CRITICAL",message:"Bytes request body is not supported in Ruby snippets yet"});break;case"typeReference":r.push(m.positionalArgument({value:this.context.dynamicTypeLiteralMapper.convert({typeReference:t.body.value,value:this.context.getRecord(e.requestBody)})}));break;default:b(t.body)}return r}getMethod({endpoint:t}){return t.declaration.fernFilepath.allParts.length>0?`${t.declaration.fernFilepath.allParts.map(e=>`${this.context.getMethodName(e)}`).join(".")}.${this.context.getMethodName(t.declaration.name)}`:this.context.getMethodName(t.declaration.name)}};var tt=class extends pe{constructor({ir:e,config:r,formatter:i}){super(new We({ir:e,config:r}));l(this,"formatter");this.formatter=i}async generate(e){return super.generate(e)}generateSync(e){return super.generateSync(e)}async generateSnippetAst(e){return super.generateSnippetAst(e)}createSnippetGenerator(e){return new Ve({context:e,formatter:this.formatter})}};0&&(module.exports={DynamicSnippetsGenerator});
|
|
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:b(this.internalType)}}};f();u();var Me;(function(n){n[n.Invariant=0]="Invariant",n.Covariant="out",n.Contravariant="in"})(Me||(Me={}));var te=class extends g{constructor({name:e,unchecked:r,bound:i,variance:o,defaultType:a}){super();l(this,"name");l(this,"unchecked");l(this,"bound");l(this,"variance");l(this,"defaultType");this.name=e,this.unchecked=r!=null?r:!1,this.bound=i,this.variance=o!=null?o:Me.Invariant,this.defaultType=a}write(e){}writeTypeDefinition(e){this.unchecked&&e.write("unchecked "),this.variance!=Me.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))}};f();u();var ve=class extends E{constructor(){super(...arguments);l(this,"initializer")}write(e){e.write(`&${this.name}`)}};f();u();var Ue=class extends g{constructor({body:e,rescues:r}){super();l(this,"body");l(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")}};f();u();var De=class extends g{constructor({if:e,elseIf:r,elseBody:i}){super();l(this,"ifBranch");l(this,"elseIfs");l(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()}};f();u();var _e=class extends g{constructor({errorClass:e,message:r}){super();l(this,"errorClass");l(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 $e(n){return new X(n)}function vi(){return $e("true")}function bi(){return $e("false")}function Ai(){return $e("nil")}var Ti={positional(n){return new xe(n)},keyword(n){return new Q(n)},positionalSplat(n){return new ge(n)},keywordSplat(n){return new he(n)},yield(n){return new ve(n)}};function Ei(n){return new j(n)}function Ri(n){return new V(n)}function Si(n){return new W(n)}function ki(n){return new N(n)}function Ii(n){return new te(n)}function Ni(n){return new _(n)}function Ci(n){return new J(n)}function Li(n){return new Z(n)}function Pi(n){return new ee(n)}function Bi(n){return new ye(n)}function Fi(n){return new De(n)}function Mi(n){return new Ue(n)}function Ui(n){return new _e(n)}function Di(n,t){let e=n;for(let r of t.toReversed())r.addStatement(e),e=r;return e}f();u();var Oe=class{constructor({context:t}){l(this,"context");this.context=t}convert(t){if(t.value===null)return this.context.isNullable(t.typeReference)?m.TypeLiteral.nil():(this.context.errors.add({severity:w.Critical,message:"Expected non-null value, but got null"}),m.TypeLiteral.nop());if(t.value===void 0)return m.TypeLiteral.nop();switch(t.typeReference.type){case"list":return this.convertList({list:t.typeReference.value,value:t.value});case"literal":return this.convertLiteral({literalType:t.typeReference.value,value:t.value});case"map":return this.convertMap({map:t.typeReference,value:t.value});case"named":{let e=this.context.resolveNamedType({typeId:t.typeReference.value});return e==null?m.TypeLiteral.nop():this.convertNamed({named:e,value:t.value,as:t.as})}case"optional":return this.convert({typeReference:t.typeReference.value,value:t.value,as:t.as});case"nullable":return this.convert({typeReference:t.typeReference.value,value:t.value,as:t.as});case"primitive":return this.convertPrimitive({primitive:t.typeReference.value,value:t.value,as:t.as});case"set":return this.convertSet({set:t.typeReference.value,value:t.value});case"unknown":return m.TypeLiteral.nop();default:b(t.typeReference)}}convertLiteral({literalType:t,value:e}){switch(t.type){case"boolean":{let r=this.context.getValueAsBoolean({value:e});return r==null?m.TypeLiteral.nop():m.TypeLiteral.boolean(r)}case"string":{let r=this.context.getValueAsString({value:e});return r==null?m.TypeLiteral.nop():m.TypeLiteral.string(r)}default:b(t)}}convertList({list:t,value:e}){return Array.isArray(e)?m.TypeLiteral.list(e.map((r,i)=>{this.context.errors.scope({index:i});try{return this.convert({typeReference:t,value:r})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:w.Critical,message:`Expected array but got: ${typeof e}`}),m.TypeLiteral.nop())}convertSet({set:t,value:e}){return Array.isArray(e)?m.TypeLiteral.set(e.map((r,i)=>{this.context.errors.scope({index:i});try{return this.convert({typeReference:t,value:r})}finally{this.context.errors.unscope()}})):(this.context.errors.add({severity:w.Critical,message:`Expected array but got: ${typeof e}`}),m.TypeLiteral.nop())}convertMap({map:t,value:e}){return typeof e!="object"||e==null?(this.context.errors.add({severity:w.Critical,message:`Expected object but got: ${e==null?"null":typeof e}`}),m.TypeLiteral.nop()):m.TypeLiteral.hash(Object.entries(e).map(([r,i])=>{this.context.errors.scope(r);try{return{key:this.convert({typeReference:t.key,value:r,as:"key"}),value:this.convert({typeReference:t.value,value:i})}}finally{this.context.errors.unscope()}}))}convertNamed({named:t,value:e,as:r}){switch(t.type){case"alias":return this.convert({typeReference:t.typeReference,value:e,as:r});case"discriminatedUnion":return m.TypeLiteral.nop();case"object":return this.convertObject({object:t,value:e});case"enum":return m.TypeLiteral.nop();case"undiscriminatedUnion":return m.TypeLiteral.nop();default:b(t)}}convertPrimitive({primitive:t,value:e,as:r}){switch(t){case"INTEGER":case"LONG":case"UINT":case"UINT_64":{let i=this.getValueAsNumber({value:e,as:r});return i==null?m.TypeLiteral.nop():m.TypeLiteral.integer(i)}case"FLOAT":case"DOUBLE":{let i=this.getValueAsNumber({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.float(i)}case"BOOLEAN":{let i=this.getValueAsBoolean({value:e,as:r});return i==null?m.TypeLiteral.nop():m.TypeLiteral.boolean(i)}case"BASE_64":case"BIG_INTEGER":case"STRING":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}case"UUID":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}case"DATE":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}case"DATE_TIME":{let i=this.context.getValueAsString({value:e});return i==null?m.TypeLiteral.nop():m.TypeLiteral.string(i)}default:b(t)}}convertObject({object:t,value:e}){return typeof e!="object"||e==null?(this.context.errors.add({severity:w.Critical,message:`Expected object but got: ${e==null?"null":typeof e}`}),m.TypeLiteral.nop()):m.TypeLiteral.hash(Object.entries(e).map(([r,i])=>{var c;this.context.errors.scope(r);let o=t.properties.find(h=>h.name.wireValue===r),a=(c=o==null?void 0:o.typeReference)!=null?c:{type:"unknown"},p={key:m.TypeLiteral.string(r),value:this.convert({typeReference:a,value:i})};return this.context.errors.unscope(),p}))}getValueAsNumber({value:t,as:e}){let r=e==="key"&&typeof t=="string"?Number(t):t;return this.context.getValueAsNumber({value:r})}getValueAsBoolean({value:t,as:e}){let r=e==="key"?typeof t=="string"?t==="true":!!t:t;return this.context.getValueAsBoolean({value:r})}};var We=class n extends me{constructor({ir:e,config:r}){super({ir:e,config:r});l(this,"ir");l(this,"customConfig");l(this,"dynamicTypeLiteralMapper");this.ir=e,this.customConfig=r.customConfig!=null?r.customConfig:void 0,this.dynamicTypeLiteralMapper=new Oe({context:this})}clone(){return new n({ir:this.ir,config:this.config})}getRootClientClassReference(){return m.classReference({name:this.getRootClientClassName(),modules:[this.getRootModuleName()]})}getRootClientClassName(){return"Client"}getRootModuleName(){var e,r;return Ze((r=(e=this.customConfig)==null?void 0:e.clientModuleName)!=null?r:this.config.organization)}isSingleEnvironmentID(e){return typeof e=="string"}isMultiEnvironmentValues(e){return typeof e=="object"}getEnvironmentTypeReferenceFromID(e){let r=this.resolveEnvironmentName(e);if(r!=null)return m.codeblock(i=>{i.writeNode(this.getEnvironmentClassReference()),i.write("::"),i.write(this.getEnumName(r))})}getEnvironmentClassReference(){return m.classReference({name:"Environment",modules:[this.getRootModuleName()]})}getEnumName(e){return this.getName(e.screamingSnakeCase.safeName)}getMethodName(e){return this.getName(e.snakeCase.safeName)}getPropertyName(e){return this.getName(e.snakeCase.safeName)}getName(e){return e}};f();u();var pr="client",Ve=class{constructor({context:t,formatter:e}){l(this,"context");l(this,"formatter");this.context=t,this.formatter=e}async generateSnippet({endpoint:t,request:e}){var i;return await this.buildCodeBlock({endpoint:t,snippet:e}).toStringAsync({customConfig:(i=this.context.customConfig)!=null?i:{},formatter:this.formatter})}generateSnippetSync({endpoint:t,request:e}){var i;return this.buildCodeBlock({endpoint:t,snippet:e}).toString({customConfig:(i=this.context.customConfig)!=null?i:{},formatter:this.formatter})}async generateSnippetAst({endpoint:t,request:e,options:r}){return this.buildCodeBlock({endpoint:t,snippet:e})}buildCodeBlock({endpoint:t,snippet:e}){return m.codeblock(r=>{r.writeNodeStatement(this.constructClient({endpoint:t,snippet:e})),r.newLine(),r.writeNodeStatement(this.callMethod({endpoint:t,snippet:e}))})}constructClient({endpoint:t,snippet:e}){return m.codeblock(r=>{r.addRequire(this.context.getRootModuleName().toLowerCase());let i=this.context.getRootClientClassReference(),o=this.getRootClientBuilderArgs({endpoint:t,snippet:e});r.write(`${pr} = `),r.writeNode(m.instantiateClass({classReference:i,arguments_:o}))})}getRootClientBaseUrlArg({baseUrl:t,environment:e}){if(t!=null&&e!=null)return this.context.errors.add({severity:"CRITICAL",message:"Cannot specify both baseUrl and environment options"}),[];if(t!=null)return[m.keywordArgument({name:"base_url",value:m.TypeLiteral.string(t)})];if(e!=null){if(this.context.isSingleEnvironmentID(e)){let r=this.context.getEnvironmentTypeReferenceFromID(e);return r==null?(this.context.errors.add({severity:"CRITICAL",message:`Environment ID ${e} not found`}),[]):[m.keywordArgument({name:"environment",value:r})]}if(this.context.isMultiEnvironmentValues(e))return this.context.errors.add({severity:"CRITICAL",message:"Multi-environment values are not supported in Ruby snippets yet"}),[]}return[]}getRootClientAuthArgs({auth:t,values:e}){if(e.type!==t.type)return this.addError(this.context.newAuthMismatchError({auth:t,values:e}).message),[];switch(t.type){case"basic":return e.type==="basic"?this.getRootClientBasicAuthArgs({auth:t,values:e}):[];case"bearer":return e.type==="bearer"?this.getRootClientBearerAuthArgs({auth:t,values:e}):[];case"header":return e.type==="header"?this.getRootClientHeaderAuthArgs({auth:t,values:e}):[];case"oauth":return e.type==="oauth"?this.getRootClientOAuthArgs({auth:t,values:e}):[];case"inferred":return this.addWarning("Ruby SDK does not support inferred auth yet"),[];default:b(t)}}addError(t){this.context.errors.add({severity:w.Critical,message:t})}addWarning(t){this.context.errors.add({severity:w.Warning,message:t})}getRootClientBasicAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.username.snakeCase.safeName,value:m.TypeLiteral.string(e.username)}),m.keywordArgument({name:t.password.snakeCase.safeName,value:m.TypeLiteral.string(e.password)})]}getRootClientBearerAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.token.snakeCase.safeName,value:m.TypeLiteral.string(e.token)})]}getRootClientHeaderAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.header.name.name.snakeCase.safeName,value:m.TypeLiteral.string(e.value)})]}getRootClientOAuthArgs({auth:t,values:e}){return[m.keywordArgument({name:t.clientId.snakeCase.safeName,value:m.TypeLiteral.string(e.clientId)}),m.keywordArgument({name:t.clientSecret.snakeCase.safeName,value:m.TypeLiteral.string(e.clientSecret)})]}getRootClientHeaderArgs({headers:t,values:e}){let r=[];for(let i of t){let o=e[i.name.name.originalName];o!=null&&typeof o=="string"&&r.push(m.keywordArgument({name:i.name.name.snakeCase.safeName,value:m.TypeLiteral.string(o)}))}return r}getRootClientBuilderArgs({endpoint:t,snippet:e}){let r=[];t.auth!=null&&(e.auth!=null?r.push(...this.getRootClientAuthArgs({auth:t.auth,values:e.auth})):this.context.errors.add({severity:"WARNING",message:`Auth with ${t.auth.type} configuration is required for this endpoint`}));let i=this.getRootClientBaseUrlArg({baseUrl:e.baseURL,environment:e.environment});return i.length>0&&r.push(...i),this.context.errors.scope("Headers"),this.context.ir.headers!=null&&e.headers!=null&&r.push(...this.getRootClientHeaderArgs({headers:this.context.ir.headers,values:e.headers})),this.context.errors.unscope(),r}callMethod({endpoint:t,snippet:e}){let r={on:m.codeblock(pr),method:this.getMethod({endpoint:t}),arguments_:[]};switch(t.request.type){case"inlined":r.keywordArguments=this.getMethodArgsForInlinedRequest({request:t.request,snippet:e});break;case"body":r.arguments_=this.getMethodArgsForBodyRequest({request:t.request,snippet:e});break;default:b(t.request)}return m.invokeMethod(r)}getMethodArgsForInlinedRequest({request:t,snippet:e}){let r=[];if(r.push(...this.getNamedParameterArgs({kind:"PathParameters",namedParameters:t.pathParameters,values:e.pathParameters})),r.push(...this.getNamedParameterArgs({kind:"QueryParameters",namedParameters:t.queryParameters,values:e.queryParameters})),r.push(...this.getNamedParameterArgs({kind:"Headers",namedParameters:t.headers,values:e.headers})),t.body!=null)switch(t.body.type){case"properties":r.push(...this.getMethodArgsForPropertiesRequest({request:t.body,snippet:e}));break;case"referenced":case"fileUpload":break;default:b(t.body)}return r}getNamedParameterArgs({kind:t,namedParameters:e,values:r}){let i=[];if(this.context.errors.scope(t),e!=null){let o=this.context.associateByWireValue({parameters:e,values:r!=null?r:{},ignoreMissingParameters:!0});for(let a of o)i.push(m.keywordArgument({name:this.context.getPropertyName(a.name.name),value:this.context.dynamicTypeLiteralMapper.convert(a)}))}return this.context.errors.unscope(),i}getMethodArgsForPropertiesRequest({request:t,snippet:e}){var o;let r=[],i=this.context.associateByWireValue({parameters:t.value,values:(o=this.context.getRecord(e.requestBody))!=null?o:{}});for(let a of i)r.push(m.keywordArgument({name:this.context.getPropertyName(a.name.name),value:this.context.dynamicTypeLiteralMapper.convert(a)}));return r}getMethodArgsForBodyRequest({request:t,snippet:e}){var i;let r=[];if(this.context.errors.scope("PathParameters"),t.pathParameters!=null){let o=this.context.associateByWireValue({parameters:t.pathParameters,values:(i=e.pathParameters)!=null?i:{},ignoreMissingParameters:!0});for(let a of o)r.push(m.positionalArgument({value:this.context.dynamicTypeLiteralMapper.convert(a)}))}if(this.context.errors.unscope(),t.body!=null)switch(t.body.type){case"bytes":this.context.errors.add({severity:"CRITICAL",message:"Bytes request body is not supported in Ruby snippets yet"});break;case"typeReference":r.push(m.positionalArgument({value:this.context.dynamicTypeLiteralMapper.convert({typeReference:t.body.value,value:this.context.getRecord(e.requestBody)})}));break;default:b(t.body)}return r}getMethod({endpoint:t}){return t.declaration.fernFilepath.allParts.length>0?`${t.declaration.fernFilepath.allParts.map(e=>`${this.context.getMethodName(e)}`).join(".")}.${this.context.getMethodName(t.declaration.name)}`:this.context.getMethodName(t.declaration.name)}};var tt=class extends pe{constructor({ir:e,config:r,formatter:i}){super(new We({ir:e,config:r}));l(this,"formatter");this.formatter=i}async generate(e){return super.generate(e)}generateSync(e){return super.generateSync(e)}async generateSnippetAst(e){return super.generateSnippetAst(e)}createSnippetGenerator(e){return new Ve({context:e,formatter:this.formatter})}};0&&(module.exports={DynamicSnippetsGenerator});
|
|
24
24
|
/*! Bundled license information:
|
|
25
25
|
|
|
26
26
|
@esbuild-plugins/node-globals-polyfill/Buffer.js:
|