@fern-api/ruby-dynamic-snippets 0.0.6 → 1.0.0-rc60
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 +8 -8
- package/cjs/DynamicSnippetsGenerator.cjs.map +1 -1
- package/cjs/EndpointSnippetGenerator.cjs +9 -9
- package/cjs/EndpointSnippetGenerator.cjs.map +1 -1
- package/cjs/EndpointSnippetGenerator.d.cts +8 -0
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs +8 -8
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -1
- package/cjs/context/DynamicToLiteralMapper.cjs +8 -8
- package/cjs/context/DynamicToLiteralMapper.cjs.map +1 -1
- package/cjs/index.cjs +8 -8
- package/cjs/index.cjs.map +1 -1
- package/esm/DynamicSnippetsGenerator.js +1 -1
- package/esm/EndpointSnippetGenerator.d.ts +8 -0
- package/esm/EndpointSnippetGenerator.js +1 -1
- package/esm/{chunk-KACH37MO.js → chunk-E7XDZIKI.js} +2 -2
- package/esm/{chunk-24Z62MLO.js → chunk-FWYXQB4R.js} +2 -2
- package/esm/chunk-NB75HQID.js +2 -0
- package/esm/chunk-NB75HQID.js.map +1 -0
- package/esm/{chunk-CWYMFRFT.js → chunk-SWWYKNFW.js} +2 -2
- package/esm/chunk-TGWLAKQC.js +34 -0
- package/esm/chunk-TGWLAKQC.js.map +1 -0
- package/esm/context/DynamicSnippetsGeneratorContext.js +1 -1
- package/esm/context/DynamicToLiteralMapper.js +1 -1
- package/esm/index.js +1 -1
- package/package.json +1 -1
- package/esm/chunk-43L44TD5.js +0 -2
- package/esm/chunk-43L44TD5.js.map +0 -1
- package/esm/chunk-SFFHNMMU.js +0 -34
- package/esm/chunk-SFFHNMMU.js.map +0 -1
- /package/esm/{chunk-KACH37MO.js.map → chunk-E7XDZIKI.js.map} +0 -0
- /package/esm/{chunk-24Z62MLO.js.map → chunk-FWYXQB4R.js.map} +0 -0
- /package/esm/{chunk-CWYMFRFT.js.map → chunk-SWWYKNFW.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-FWYXQB4R.js";import"../chunk-SWWYKNFW.js";import"../chunk-TGWLAKQC.js";export{a as DynamicSnippetsGeneratorContext};
|
|
2
2
|
//# sourceMappingURL=DynamicSnippetsGeneratorContext.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-SWWYKNFW.js";import"../chunk-TGWLAKQC.js";export{a as DynamicTypeLiteralMapper};
|
|
2
2
|
//# sourceMappingURL=DynamicToLiteralMapper.js.map
|
package/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
1
|
+
import{a as n}from"./chunk-E7XDZIKI.js";import"./chunk-NB75HQID.js";import"./chunk-FWYXQB4R.js";import"./chunk-SWWYKNFW.js";import{b as e,c as r}from"./chunk-TGWLAKQC.js";e();r();export{n as DynamicSnippetsGenerator};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
package/esm/chunk-43L44TD5.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as d,b as m,c as p,d as u,f as c,h as n}from"./chunk-SFFHNMMU.js";m();p();var y="client",l=class{constructor({context:e,formatter:t}){d(this,"context");d(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(`${y} = `),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:c.Critical,message:e})}addWarning(e){this.context.errors.add({severity:c.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}){let r={on:n.codeblock(y),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.arguments_=this.getMethodArgsForBodyRequest({request:e.request,snippet:t});break;default:u(e.request)}return n.invokeMethod(r)}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}){var a;let r=[];if(this.context.errors.scope("PathParameters"),e.pathParameters!=null){let s=this.context.associateByWireValue({parameters:e.pathParameters,values:(a=t.pathParameters)!=null?a:{},ignoreMissingParameters:!0});for(let i of s)r.push(n.positionalArgument({value:this.context.dynamicTypeLiteralMapper.convert(i)}))}if(this.context.errors.unscope(),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":r.push(n.positionalArgument({value:this.context.dynamicTypeLiteralMapper.convert({typeReference:e.body.value,value:this.context.getRecord(t.requestBody)})}));break;default:u(e.body)}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{l as a};
|
|
2
|
-
//# sourceMappingURL=chunk-43L44TD5.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 invokeMethodArgs.arguments_ = this.getMethodArgsForBodyRequest({\n request: endpoint.request,\n snippet\n });\n break;\n default:\n assertNever(endpoint.request);\n }\n\n return ruby.invokeMethod(invokeMethodArgs);\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.AstNode[] {\n const args: ruby.AstNode[] = [];\n\n // Add path parameters as positional arguments\n this.context.errors.scope(\"PathParameters\");\n if (request.pathParameters != null) {\n const associated = this.context.associateByWireValue({\n parameters: request.pathParameters,\n values: snippet.pathParameters ?? {},\n ignoreMissingParameters: true\n });\n for (const parameter of associated) {\n args.push(\n ruby.positionalArgument({\n value: this.context.dynamicTypeLiteralMapper.convert(parameter)\n })\n );\n }\n }\n this.context.errors.unscope();\n\n // Add body as a positional argument\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 args.push(\n ruby.positionalArgument({\n value: this.context.dynamicTypeLiteralMapper.convert({\n typeReference: request.body.value,\n value: this.context.getRecord(snippet.requestBody)\n })\n })\n );\n break;\n default:\n assertNever(request.body);\n }\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","kind","namedParameters","associated","parameter","bodyProperties","val"]}
|
package/esm/chunk-SFFHNMMU.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
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=(i,t,e)=>t in i?ze(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,He=(i,t)=>{for(var e in t||(t={}))je.call(t,e)&&Be(i,e,t[e]);if(ye)for(var e of ye(t))Ge.call(t,e)&&Be(i,e,t[e]);return i},Ke=(i,t)=>bt(i,Nt(t));var Je=i=>typeof i=="symbol"?i:i+"",Xe=(i,t)=>{var e={};for(var r in i)je.call(i,r)&&t.indexOf(r)<0&&(e[r]=i[r]);if(i!=null&&ye)for(var r of ye(i))t.indexOf(r)<0&&Ge.call(i,r)&&(e[r]=i[r]);return e};var Ue=(i,t)=>()=>(i&&(t=i(i=0)),t);var It=(i,t)=>{for(var e in t)ze(i,e,{get:t[e],enumerable:!0})};var f=(i,t,e)=>Be(i,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(i){if(W===setTimeout)return setTimeout(i,0);if((W===Ze||!W)&&setTimeout)return W=setTimeout,setTimeout(i,0);try{return W(i,0)}catch(t){try{return W.call(null,i,0)}catch(e){return W.call(this,i,0)}}}function Lt(i){if(V===clearTimeout)return clearTimeout(i);if((V===Qe||!V)&&clearTimeout)return V=clearTimeout,clearTimeout(i);try{return V(i)}catch(t){try{return V.call(null,i)}catch(e){return V.call(this,i)}}}function Pt(){!te||!z||(te=!1,z.length?B=z.concat(B):xe=-1,B.length&&tt())}function tt(){if(!te){var i=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(i)}}function Ct(i){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(i,t)),B.length===1&&!te&&et(tt)}function rt(i,t){this.fun=i,this.array=t}function j(){}function Jt(i){throw new Error("process.binding is not supported")}function Xt(){return"/"}function qt(i){throw new Error("process.chdir is not supported")}function Zt(){return 0}function er(i){var t=Qt.call(ee)*.001,e=Math.floor(t),r=Math.floor(t%1*1e9);return i&&(e=e-i[0],r=r-i[1],r<0&&(e--,r+=1e9)),[e,r]}function rr(){var i=new Date,t=i-tr;return t/1e3}var W,V,B,te,z,xe,Bt,Ut,_t,Ft,$t,Dt,Mt,Yt,Ot,Wt,Vt,zt,jt,Gt,Ht,Kt,ee,Qt,tr,p,qe,l=Ue(()=>{"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",Ut="browser",_t=!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;p={nextTick:Ct,title:Bt,browser:_t,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:Ut,release:Yt,config:Ot,uptime:rr},qe={};Object.keys(qe).forEach(i=>{let t=i.split("."),e=p;for(let r=0;r<t.length;r++){let n=t[r];r===t.length-1?e[n]=qe[i]:e=e[n]||(e[n]={})}})});function st(){Fe=!0;for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,e=i.length;t<e;++t)I[t]=i[t],S[i.charCodeAt(t)]=t;S[45]=62,S[95]=63}function nr(i){Fe||st();var t,e,r,n,o,s,h=i.length;if(h%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o=i[h-2]==="="?2:i[h-1]==="="?1:0,s=new ir(h*3/4-o),r=o>0?h-4:h;var c=0;for(t=0,e=0;t<r;t+=4,e+=3)n=S[i.charCodeAt(t)]<<18|S[i.charCodeAt(t+1)]<<12|S[i.charCodeAt(t+2)]<<6|S[i.charCodeAt(t+3)],s[c++]=n>>16&255,s[c++]=n>>8&255,s[c++]=n&255;return o===2?(n=S[i.charCodeAt(t)]<<2|S[i.charCodeAt(t+1)]>>4,s[c++]=n&255):o===1&&(n=S[i.charCodeAt(t)]<<10|S[i.charCodeAt(t+1)]<<4|S[i.charCodeAt(t+2)]>>2,s[c++]=n>>8&255,s[c++]=n&255),s}function or(i){return I[i>>18&63]+I[i>>12&63]+I[i>>6&63]+I[i&63]}function sr(i,t,e){for(var r,n=[],o=t;o<e;o+=3)r=(i[o]<<16)+(i[o+1]<<8)+i[o+2],n.push(or(r));return n.join("")}function it(i){Fe||st();for(var t,e=i.length,r=e%3,n="",o=[],s=16383,h=0,c=e-r;h<c;h+=s)o.push(sr(i,h,h+s>c?c:h+s));return r===1?(t=i[e-1],n+=I[t>>2],n+=I[t<<4&63],n+="=="):r===2&&(t=(i[e-2]<<8)+i[e-1],n+=I[t>>10],n+=I[t>>4&63],n+=I[t<<2&63],n+="="),o.push(n),o.join("")}function ge(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function U(i,t){if(ge()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(i=new Uint8Array(t),i.__proto__=a.prototype):(i===null&&(i=new a(t)),i.length=t),i}function a(i,t,e){if(!a.TYPED_ARRAY_SUPPORT&&!(this instanceof a))return new a(i,t,e);if(typeof i=="number"){if(typeof t=="string")throw new Error("If encoding is specified then the first argument must be a string");return $e(this,i)}return at(this,i,t,e)}function at(i,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(i,t,e,r):typeof t=="string"?fr(i,t,e):ur(i,t)}function ft(i){if(typeof i!="number")throw new TypeError('"size" argument must be a number');if(i<0)throw new RangeError('"size" argument must not be negative')}function ar(i,t,e,r){return ft(t),t<=0?U(i,t):e!==void 0?typeof r=="string"?U(i,t).fill(e,r):U(i,t).fill(e):U(i,t)}function $e(i,t){if(ft(t),i=U(i,t<0?0:De(t)|0),!a.TYPED_ARRAY_SUPPORT)for(var e=0;e<t;++e)i[e]=0;return i}function fr(i,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;i=U(i,r);var n=i.write(t,e);return n!==r&&(i=i.slice(0,n)),i}function _e(i,t){var e=t.length<0?0:De(t.length)|0;i=U(i,e);for(var r=0;r<e;r+=1)i[r]=t[r]&255;return i}function lr(i,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?(i=t,i.__proto__=a.prototype):i=_e(i,t),i}function ur(i,t){if(L(t)){var e=De(t.length)|0;return i=U(i,e),i.length===0||t.copy(i,0,0,e),i}if(t){if(typeof ArrayBuffer!="undefined"&&t.buffer instanceof ArrayBuffer||"length"in t)return typeof t.length!="number"||Ir(t.length)?U(i,0):_e(i,t);if(t.type==="Buffer"&&Array.isArray(t.data))return _e(i,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function De(i){if(i>=ge())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+ge().toString(16)+" bytes");return i|0}function L(i){return!!(i!=null&&i._isBuffer)}function lt(i,t){if(L(i))return i.length;if(typeof ArrayBuffer!="undefined"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(i)||i instanceof ArrayBuffer))return i.byteLength;typeof i!="string"&&(i=""+i);var e=i.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(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e*2;case"hex":return e>>>1;case"base64":return wt(i).length;default:if(r)return Te(i).length;t=(""+t).toLowerCase(),r=!0}}function hr(i,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(i||(i="utf8");;)switch(i){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: "+i);i=(i+"").toLowerCase(),r=!0}}function G(i,t,e){var r=i[t];i[t]=i[e],i[e]=r}function ut(i,t,e,r,n){if(i.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=n?0:i.length-1),e<0&&(e=i.length+e),e>=i.length){if(n)return-1;e=i.length-1}else if(e<0)if(n)e=0;else return-1;if(typeof t=="string"&&(t=a.from(t,r)),L(t))return t.length===0?-1:nt(i,t,e,r,n);if(typeof t=="number")return t=t&255,a.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(i,t,e):Uint8Array.prototype.lastIndexOf.call(i,t,e):nt(i,[t],e,r,n);throw new TypeError("val must be string, number or Buffer")}function nt(i,t,e,r,n){var o=1,s=i.length,h=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r==="ucs2"||r==="ucs-2"||r==="utf16le"||r==="utf-16le")){if(i.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 d;if(n){var w=-1;for(d=e;d<s;d++)if(c(i,d)===c(t,w===-1?0:d-w)){if(w===-1&&(w=d),d-w+1===h)return w*o}else w!==-1&&(d-=d-w),w=-1}else for(e+h>s&&(e=s-h),d=e;d>=0;d--){for(var m=!0,x=0;x<h;x++)if(c(i,d+x)!==c(t,x)){m=!1;break}if(m)return d}return-1}function cr(i,t,e,r){e=Number(e)||0;var n=i.length-e;r?(r=Number(r),r>n&&(r=n)):r=n;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;i[e+s]=h}return s}function pr(i,t,e,r){return Ae(Te(t,i.length-e),i,e,r)}function ht(i,t,e,r){return Ae(br(t),i,e,r)}function dr(i,t,e,r){return ht(i,t,e,r)}function mr(i,t,e,r){return Ae(wt(t),i,e,r)}function wr(i,t,e,r){return Ae(Nr(t,i.length-e),i,e,r)}function yr(i,t,e){return t===0&&e===i.length?it(i):it(i.slice(t,e))}function ct(i,t,e){e=Math.min(i.length,e);for(var r=[],n=t;n<e;){var o=i[n],s=null,h=o>239?4:o>223?3:o>191?2:1;if(n+h<=e){var c,d,w,m;switch(h){case 1:o<128&&(s=o);break;case 2:c=i[n+1],(c&192)===128&&(m=(o&31)<<6|c&63,m>127&&(s=m));break;case 3:c=i[n+1],d=i[n+2],(c&192)===128&&(d&192)===128&&(m=(o&15)<<12|(c&63)<<6|d&63,m>2047&&(m<55296||m>57343)&&(s=m));break;case 4:c=i[n+1],d=i[n+2],w=i[n+3],(c&192)===128&&(d&192)===128&&(w&192)===128&&(m=(o&15)<<18|(c&63)<<12|(d&63)<<6|w&63,m>65535&&m<1114112&&(s=m))}}s===null?(s=65533,h=1):s>65535&&(s-=65536,r.push(s>>>10&1023|55296),s=56320|s&1023),r.push(s),n+=h}return xr(r)}function xr(i){var t=i.length;if(t<=ot)return String.fromCharCode.apply(String,i);for(var e="",r=0;r<t;)e+=String.fromCharCode.apply(String,i.slice(r,r+=ot));return e}function gr(i,t,e){var r="";e=Math.min(i.length,e);for(var n=t;n<e;++n)r+=String.fromCharCode(i[n]&127);return r}function Tr(i,t,e){var r="";e=Math.min(i.length,e);for(var n=t;n<e;++n)r+=String.fromCharCode(i[n]);return r}function Er(i,t,e){var r=i.length;(!t||t<0)&&(t=0),(!e||e<0||e>r)&&(e=r);for(var n="",o=t;o<e;++o)n+=Rr(i[o]);return n}function vr(i,t,e){for(var r=i.slice(t,e),n="",o=0;o<r.length;o+=2)n+=String.fromCharCode(r[o]+r[o+1]*256);return n}function E(i,t,e){if(i%1!==0||i<0)throw new RangeError("offset is not uint");if(i+t>e)throw new RangeError("Trying to access beyond buffer length")}function A(i,t,e,r,n,o){if(!L(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<o)throw new RangeError('"value" argument is out of bounds');if(e+r>i.length)throw new RangeError("Index out of range")}function Ee(i,t,e,r){t<0&&(t=65535+t+1);for(var n=0,o=Math.min(i.length-e,2);n<o;++n)i[e+n]=(t&255<<8*(r?n:1-n))>>>(r?n:1-n)*8}function ve(i,t,e,r){t<0&&(t=4294967295+t+1);for(var n=0,o=Math.min(i.length-e,4);n<o;++n)i[e+n]=t>>>(r?n:3-n)*8&255}function pt(i,t,e,r,n,o){if(e+r>i.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function dt(i,t,e,r,n){return n||pt(i,t,e,4,34028234663852886e22,-34028234663852886e22),xt(i,t,e,r,23,4),e+4}function mt(i,t,e,r,n){return n||pt(i,t,e,8,17976931348623157e292,-17976931348623157e292),xt(i,t,e,r,52,8),e+8}function kr(i){if(i=Sr(i).replace(Ar,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function Sr(i){return i.trim?i.trim():i.replace(/^\s+|\s+$/g,"")}function Rr(i){return i<16?"0"+i.toString(16):i.toString(16)}function Te(i,t){t=t||1/0;for(var e,r=i.length,n=null,o=[],s=0;s<r;++s){if(e=i.charCodeAt(s),e>55295&&e<57344){if(!n){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}n=e;continue}if(e<56320){(t-=3)>-1&&o.push(239,191,189),n=e;continue}e=(n-55296<<10|e-56320)+65536}else n&&(t-=3)>-1&&o.push(239,191,189);if(n=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(i){for(var t=[],e=0;e<i.length;++e)t.push(i.charCodeAt(e)&255);return t}function Nr(i,t){for(var e,r,n,o=[],s=0;s<i.length&&!((t-=2)<0);++s)e=i.charCodeAt(s),r=e>>8,n=e%256,o.push(n),o.push(r);return o}function wt(i){return nr(kr(i))}function Ae(i,t,e,r){for(var n=0;n<r&&!(n+e>=t.length||n>=i.length);++n)t[n+e]=i[n];return n}function Ir(i){return i!==i}function Lr(i){return i!=null&&(!!i._isBuffer||yt(i)||Pr(i))}function yt(i){return!!i.constructor&&typeof i.constructor.isBuffer=="function"&&i.constructor.isBuffer(i)}function Pr(i){return typeof i.readFloatLE=="function"&&typeof i.slice=="function"&&yt(i.slice(0,0))}function ke(i,t,e,r,n){var o,s,h=n*8-r-1,c=(1<<h)-1,d=c>>1,w=-7,m=e?n-1:0,x=e?-1:1,g=i[t+m];for(m+=x,o=g&(1<<-w)-1,g>>=-w,w+=h;w>0;o=o*256+i[t+m],m+=x,w-=8);for(s=o&(1<<-w)-1,o>>=-w,w+=r;w>0;s=s*256+i[t+m],m+=x,w-=8);if(o===0)o=1-d;else{if(o===c)return s?NaN:(g?-1:1)*(1/0);s=s+Math.pow(2,r),o=o-d}return(g?-1:1)*s*Math.pow(2,o-r)}function xt(i,t,e,r,n,o){var s,h,c,d=o*8-n-1,w=(1<<d)-1,m=w>>1,x=n===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=w):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+m>=1?t+=x/c:t+=x*Math.pow(2,1-m),t*c>=2&&(s++,c/=2),s+m>=w?(h=0,s=w):s+m>=1?(h=(t*c-1)*Math.pow(2,n),s=s+m):(h=t*Math.pow(2,m-1)*Math.pow(2,n),s=0));n>=8;i[e+g]=h&255,g+=C,h/=256,n-=8);for(s=s<<n|h,d+=n;d>0;i[e+g]=s&255,g+=C,s/=256,d-=8);i[e+g-C]|=we*128}var I,S,ir,Fe,ot,Ar,gt=Ue(()=>{"use strict";l();u();I=[],S=[],ir=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(i){return i.__proto__=a.prototype,i};a.from=function(i,t,e){return at(null,i,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(i,t,e){return ar(null,i,t,e)};a.allocUnsafe=function(i){return $e(null,i)};a.allocUnsafeSlow=function(i){return $e(null,i)};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,n=e.length,o=0,s=Math.min(r,n);o<s;++o)if(t[o]!==e[o]){r=t[o],n=e[o];break}return r<n?-1:n<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 n=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(n,o),o+=s.length}return n};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,n,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),n===void 0&&(n=0),o===void 0&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,o>>>=0,this===t)return 0;for(var s=o-n,h=r-e,c=Math.min(s,h),d=this.slice(n,o),w=t.slice(e,r),m=0;m<c;++m)if(d[m]!==w[m]){s=d[m],h=w[m];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,n){if(e===void 0)n="utf8",r=this.length,e=0;else if(r===void 0&&typeof e=="string")n=e,r=this.length,e=0;else if(isFinite(e))e=e|0,isFinite(r)?(r=r|0,n===void 0&&(n="utf8")):(n=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");n||(n="utf8");for(var s=!1;;)switch(n){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: "+n);n=(""+n).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 n;if(a.TYPED_ARRAY_SUPPORT)n=this.subarray(t,e),n.__proto__=a.prototype;else{var o=e-t;n=new a(o,void 0);for(var s=0;s<o;++s)n[s]=this[s+t]}return n};a.prototype.readUIntLE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var n=this[t],o=1,s=0;++s<e&&(o*=256);)n+=this[t+s]*o;return n};a.prototype.readUIntBE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var n=this[t+--e],o=1;e>0&&(o*=256);)n+=this[t+--e]*o;return n};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 n=this[t],o=1,s=0;++s<e&&(o*=256);)n+=this[t+s]*o;return o*=128,n>=o&&(n-=Math.pow(2,8*e)),n};a.prototype.readIntBE=function(t,e,r){t=t|0,e=e|0,r||E(t,e,this.length);for(var n=e,o=1,s=this[t+--n];n>0&&(o*=256);)s+=this[t+--n]*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,n){if(t=+t,e=e|0,r=r|0,!n){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,n){if(t=+t,e=e|0,r=r|0,!n){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,n){if(t=+t,e=e|0,!n){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,n){if(t=+t,e=e|0,!n){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,n){if(r||(r=0),!n&&n!==0&&(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===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(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var o=n-r,s;if(this===t&&r<e&&e<n)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,n){if(typeof t=="string"){if(typeof e=="string"?(n=e,e=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),t.length===1){var o=t.charCodeAt(0);o<256&&(t=o)}if(n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}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,n).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=Ue(()=>{"use strict";gt()});l();u();function k(i){throw new Error("Unexpected value: "+JSON.stringify(i))}l();u();l();u();function ie(i){return Object.keys(i)}l();u();l();u();var ne=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,n;return this.reporter==null||this.reporter.size()>0&&e.size()===0?!0:t.length>((n=(r=this.snippet)==null?void 0:r.length)!=null?n: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 n=new ne;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};n.update({context:s,snippet:c})}catch(c){n.err==null&&(n.err=c)}}return n.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 n;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){n=c}}throw n!=null?n: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 n=new ne;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};n.update({context:s,snippet:c})}catch(c){n.err==null&&(n.err=c)}}return n.getResponseOrThrow({endpoint:t.endpoint})}};l();u();var T={Critical:"CRITICAL",Warning:"WARNING"},oe=class i{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 i;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[n,o]of Object.entries(e)){this.errors.scope(n);try{let s=t.find(c=>c.name.wireValue===n);if(s==null)throw this.newParameterNotRecognizedError(n);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 n of t){this.errors.scope(n.name.wireValue);try{let o=e[n.name.wireValue];if(o==null)if(n.typeReference.type==="primitive"&&n.typeReference.value==="STRING")o=`<${n.name.wireValue}>`;else{this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(n.name.wireValue).message});continue}r.push({name:n.name,typeReference:n.typeReference,value:o})}finally{this.errors.unscope()}}return r}associateByWireValue({parameters:t,values:e,ignoreMissingParameters:r}){let n=[];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}n.push({name:h.name,typeReference:h.typeReference,value:s})}finally{this.errors.unscope()}}return n}getExampleObjectProperties({parameters:t,snippetObject:e}){let r=typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{},n=[];for(let o of t){let s=r[o.name.wireValue];s==null?o.typeReference.type==="nullable"&&n.push({name:o.name,typeReference:o.typeReference,value:null}):n.push({name:o.name,typeReference:o.typeReference,value:s})}return n}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 n=[];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}n.push(o)}return n}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 n=t.discriminant.wireValue,o=r[n];if(o==null){this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(n).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 d=r,{[n]:h}=d,c=Xe(d,[Je(n)]);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 n;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}):!((n=t.metadata)!=null&&n.onlyPathParameters)}includePathParametersInWrappedRequest({request:t,inlinePathParameters:e}){var r,n;return e&&((n=(r=t.metadata)==null?void 0:r.includePathParameters)!=null?n:!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(n=>n.id===t);return r==null?void 0:r.name}case"multipleBaseUrls":{let r=e.environments.find(n=>n.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 n=new Set(ie(r.urls));for(let o of ie(t))n.has(o)&&n.delete(o);return n.size>0?(this.errors.add({severity:T.Critical,message:`The provided environments are invalid; got: [${Object.keys(t).join(", ")}], expected: [${ie(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:()=>jr,class_:()=>Yr,codeblock:()=>Ce,comment:()=>Vr,falseValue:()=>$r,ifElse:()=>Xr,instantiateClass:()=>Gr,invokeMethod:()=>Kr,keywordArgument:()=>Hr,method:()=>Wr,module:()=>Or,nilValue:()=>Dr,parameters:()=>Mr,positionalArgument:()=>Jr,raise:()=>Zr,trueValue:()=>Fr,typeParameter:()=>zr,wrapInModules:()=>Qr});l();u();l();u();l();u();l();u();l();u();l();u();l();u();l();u();var Tt,Et,ae=(Et=(Tt=p.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:i=50,skip:t=0,filterPaths:e=[],filterFunctions:r=[],stopOn:n=[],filterNode:o=!0,filterJs:s=!0,formatFilename:h=c=>c}={}){var d;if(!P)return[];r=[...r,...Cr],e=[...e,...Br],n=[...n,"runInteractiveTask"];let c=!1;return((d=new Error().stack)!=null?d:"").split(`
|
|
2
|
-
`).map(w=>{let m=w.match(/at\s+(.*)\s+\((.*):(\d+):(\d+)\)/);if(m&&m.length===5){let[,x,g,C,we]=m;if(!x||!g||!C||!we)return;if(c||n.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(w=>{var m,x;return w&&!r.some(g=>w.fn.includes(g))&&!(o&&((m=w.path)!=null&&m.startsWith("node:")))&&!(s&&((x=w.path)!=null&&x.endsWith(".js")))&&!e.some(g=>w.path.includes(g))}).slice(t,t+i)}var Se=class{constructor({maxFrames:t=50,skip:e=0,filterPaths:r=[],filterFunctions:n=[],stopOn:o=[],filterNode:s=!0,filterJs:h=!0,multiline:c=!1,formatFilename:d=w=>w}={}){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=n,this.stopOn=o,this.filterNode=s,this.filterJs=h,this.multiline=c,this.formatFilename=d}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}},_;function vt({maxFrames:i=50,skip:t=0,filterPaths:e=[],filterFunctions:r=[],stopOn:n=[],filterNode:o=!0,filterJs:s=!0,multiline:h=!1,formatFilename:c=d=>d}={}){P&&(_!=null||(_=new Se({maxFrames:i,skip:t,filterPaths:e,filterFunctions:r,stopOn:n,filterNode:o,filterJs:s,multiline:h,formatFilename:c})))}function At(i){_==null||_.tag(i)}function We(i){var t;return(t=_==null?void 0:_.frames(i))!=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 Ur=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
|
-
`),n=r?e.substring(0,e.length-1):e,o=this.getIndentString(),s=n.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 n=t[0];n!=null&&r(n);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
|
-
`),n=P&&!this.shouldSkipTracking(r)&&this.lastCharacterIsNewline;e&&(this.lastLine=`${this.lastLine}${r.shift()||""}`),this.lastCharacterIsNewline&&r.pop(),this.lineBuffer.push(...r),n&&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 Ur}};l();u();l();u();var _r=2,R=class extends le{constructor({customConfig:e,formatter:r}){super();f(this,"customConfig");f(this,"formatter");f(this,"requires",new Set);this.customConfig=e,this.formatter=r!=null?r:new fe}addRequire(e){this.requires.add(e)}getTabSize(){return _r}};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 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=>{e.writeLine(`# ${r}`)})}};l();u();l();u();l();u();var F=class extends y{constructor({name:e,modules:r,fullyQualified:n}){super();f(this,"name");f(this,"modules");f(this,"fullyQualified");this.name=e,this.modules=r!=null?r:[],this.fullyQualified=n!=null?n:!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 i extends y{constructor(e){super();f(this,"internalType");this.internalType=e}write(e){var r,n,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=(n=this.internalType.elems[1])==null?void 0:n.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 i.union([e,i.nil()])}nilable(){return i.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:n,visibility:o,parameters:s,returnType:h,statements:c,splatOptionDocs:d}){var w,m;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=n!=null?n:D.Instance,this.visibility=o!=null?o:kt.Public,this.positionalParameters=(w=s==null?void 0:s.positional)!=null?w:[],this.keywordParameters=(m=s==null?void 0:s.keyword)!=null?m:[],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=d!=null?d:[]}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 n of this.positionalParameters){e.write(`# @option ${n.name} [`);let o=new R({customConfig:e.customConfig});n.type.writeTypeDefinition(o),e.write(this.normalizeForYard(o.toString())),e.write("]"),e.newLine()}for(let n of this.keywordParameters){e.write(`# @param ${n.name} [`);let o=new R({customConfig:e.customConfig});n.type.writeTypeDefinition(o),e.write(this.normalizeForYard(o.toString())),e.write("]"),n.docs&&e.write(` ${n.docs}`),e.newLine()}if(this.keywordSplatParameter!=null){e.write(`# @param ${this.keywordSplatParameter.name} [`);let n=new R({customConfig:e.customConfig});this.keywordSplatParameter.type.writeTypeDefinition(n),e.write(this.normalizeForYard(n.toString())),e.write("]"),this.keywordSplatParameter.docs&&e.write(` ${this.keywordSplatParameter.docs}`),e.newLine()}for(let n of this.splatOptionDocs)e.writeLine(`# ${n}`);if(this.returnType!=null){(r||this.docstring)&&e.writeLine("#"),e.write("# @return [");let n=new R({customConfig:e.customConfig});this.returnType.writeTypeDefinition(n),e.write(this.normalizeForYard(n.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:n=>n.write(e)}),e.write(")")),this.statements.length?(e.newLine(),e.indent(),this.statements.forEach((n,o)=>{n.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,n)=>{r.writeTypeDefinition(e),n<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 i extends y{constructor({name:e,namespace:r,typeParameters:n,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=n!=null?n:[],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,n)=>{r.write(e),n<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 i||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:n,docstring:o,statements:s}){super({name:e,docstring:o,typeParameters:n});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,n){let o=new M({name:e,kind:D.Instance,returnType:r,statements:n});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,n)=>{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,n)=>{n>0&&(e.write(","),e.newLine()),r.write(e)}),e.newLine(),e.dedent()):this.arguments_.forEach((r,n)=>{n>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:n,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=n!=null?n:!1,this.docs=o}};var q=class extends v{constructor({name:e,type:r,initializer:n,optional:o}){super({name:e,type:r,optional:o});f(this,"initializer");this.initializer=n}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_:n,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_=n,this.keywordArguments=o,this.block=s}write(e){this.on.write(e),e.write("."),e.write(this.method),e.write("(");let r=[];for(let n of this.arguments_)r.push({kind:"positional",node:n});for(let n of this.keywordArguments||[])r.push({kind:"keyword",arg:n});if(r.length>1?(e.indent(),e.newLine(),r.forEach((n,o)=>{o>0&&(e.write(","),e.newLine()),St(e,n)}),e.newLine(),e.dedent()):r.forEach((n,o)=>{o>0&&e.write(", "),St(e,n)}),e.write(")"),this.block){let[n,o]=this.block;e.write(" do"),n.length>0&&(e.write(" |"),n.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(i,t){switch(t.kind){case"positional":t.node.write(i);break;case"keyword":t.arg.write(i);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:n,initializer:o}){super({name:e,type:r,optional:n});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 i 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 i&&e.internalType.type==="nop"}static isNil(e){return e instanceof i&&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(n=>!i.isNop(n.key)&&!i.isNop(n.value));if(r.length===0){e.write("{}");break}e.write(`{
|
|
22
|
-
`),r.forEach((n,o)=>{o>0&&e.writeLine(","),e.indent();let s=!1;if(n.key instanceof i&&n.key.internalType.type==="str"){let h=n.key.internalType.value;/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(h)&&(e.write(`${h}:`),s=!0)}s||(n.key.write(e),e.write(":")),e.write(" "),n.value.write(e),e.dedent()}),e.write(`
|
|
23
|
-
}`);break}case"set":{let r=this.internalType.values.filter(n=>!i.isNop(n));if(r.length===0){e.write("Set.new([])");break}e.write("Set.new(["),r.forEach((n,o)=>{o>0&&e.write(", "),n.write(e)}),e.write("])");break}case"list":{let r=this.internalType.values.filter(n=>!i.isNop(n));if(r.length===0){e.write("[]");break}e.write("["),r.forEach((n,o)=>{o>0&&e.write(", "),n.write(e)}),e.write("]");break}case"nop":break;case"nil":e.write("nil");break;default:k(this.internalType)}}};l();u();var Ne;(function(i){i[i.Invariant=0]="Invariant",i.Covariant="out",i.Contravariant="in"})(Ne||(Ne={}));var Q=class extends y{constructor({name:e,unchecked:r,bound:n,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=n,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:n,body:o}of this.rescues)e.write("rescue"),r&&(e.write(" "),r.write(e)),n&&(e.write(" => "),e.write(n)),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:n}){super();f(this,"ifBranch");f(this,"elseIfs");f(this,"elseBody");this.ifBranch=e,this.elseIfs=r!=null?r:[],this.elseBody=n?Array.isArray(n)?n:[n]: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 n of r.thenBody)n.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(i){return new J(i)}function Fr(){return Ce("true")}function $r(){return Ce("false")}function Dr(){return Ce("nil")}var Mr={positional(i){return new ce(i)},keyword(i){return new q(i)},positionalSplat(i){return new pe(i)},keywordSplat(i){return new ue(i)},yield(i){return new me(i)}};function Yr(i){return new O(i)}function Or(i){return new Y(i)}function Wr(i){return new M(i)}function Vr(i){return new N(i)}function zr(i){return new Q(i)}function jr(i){return new F(i)}function Gr(i){return new K(i)}function Hr(i){return new X(i)}function Kr(i){return new Z(i)}function Jr(i){return new he(i)}function Xr(i){return new Le(i)}function qr(i){return new Ie(i)}function Zr(i){return new Pe(i)}function Qr(i,t){let e=i;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-SFFHNMMU.js.map
|