@fern-api/ruby-dynamic-snippets 0.0.1 → 0.0.2
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 +29 -10
- package/cjs/DynamicSnippetsGenerator.cjs.map +1 -0
- package/cjs/DynamicSnippetsGenerator.d.cts +1 -1
- package/cjs/{DynamicSnippetsGeneratorContext-BGmCyT7y.d.cts → DynamicSnippetsGeneratorContext-Kt0XtRvQ.d.cts} +1 -1
- package/cjs/EndpointSnippetGenerator.cjs +18 -10
- package/cjs/EndpointSnippetGenerator.cjs.map +1 -0
- package/cjs/EndpointSnippetGenerator.d.cts +3 -2
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs +29 -10
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -0
- package/cjs/context/DynamicSnippetsGeneratorContext.d.cts +1 -1
- package/cjs/context/DynamicToLiteralMapper.cjs +18 -10
- package/cjs/context/DynamicToLiteralMapper.cjs.map +1 -0
- package/cjs/context/DynamicToLiteralMapper.d.cts +1 -1
- package/cjs/index.cjs +32 -25
- package/cjs/index.cjs.map +1 -0
- package/cjs/index.d.cts +2 -2
- package/esm/DynamicSnippetsGenerator.d.ts +1 -1
- package/esm/DynamicSnippetsGenerator.js +2 -1
- package/esm/DynamicSnippetsGenerator.js.map +1 -0
- package/esm/{DynamicSnippetsGeneratorContext-BGmCyT7y.d.ts → DynamicSnippetsGeneratorContext-Kt0XtRvQ.d.ts} +1 -1
- package/esm/EndpointSnippetGenerator.d.ts +3 -2
- package/esm/EndpointSnippetGenerator.js +2 -1
- package/esm/EndpointSnippetGenerator.js.map +1 -0
- package/esm/chunk-DC7MOL5X.js +15 -0
- package/esm/chunk-DC7MOL5X.js.map +1 -0
- package/esm/chunk-HW2BPM3B.js +2 -0
- package/esm/chunk-HW2BPM3B.js.map +1 -0
- package/esm/chunk-NOLMTKNR.js +2 -0
- package/esm/chunk-NOLMTKNR.js.map +1 -0
- package/esm/chunk-RKBBW5DU.js +34 -0
- package/esm/chunk-RKBBW5DU.js.map +1 -0
- package/esm/chunk-WLYQ7USA.js +2 -0
- package/esm/chunk-WLYQ7USA.js.map +1 -0
- package/esm/context/DynamicSnippetsGeneratorContext.d.ts +1 -1
- package/esm/context/DynamicSnippetsGeneratorContext.js +2 -1
- package/esm/context/DynamicSnippetsGeneratorContext.js.map +1 -0
- package/esm/context/DynamicToLiteralMapper.d.ts +1 -1
- package/esm/context/DynamicToLiteralMapper.js +2 -1
- package/esm/context/DynamicToLiteralMapper.js.map +1 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +2 -13
- package/esm/index.js.map +1 -0
- package/package.json +1 -1
- package/esm/chunk-2EUGHB6H.js +0 -26
- package/esm/chunk-5MYTC5XX.js +0 -1
- package/esm/chunk-JE27KH5P.js +0 -1
- package/esm/chunk-P72WBQKD.js +0 -1
- package/esm/chunk-T3CDT3YD.js +0 -1
package/cjs/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { DynamicSnippetsGenerator } from './DynamicSnippetsGenerator.cjs';
|
|
2
2
|
import '@fern-api/browser-compatible-base-generator';
|
|
3
3
|
import '@fern-api/dynamic-ir-sdk';
|
|
4
|
-
import './
|
|
5
|
-
import './DynamicSnippetsGeneratorContext-BGmCyT7y.cjs';
|
|
4
|
+
import './DynamicSnippetsGeneratorContext-Kt0XtRvQ.cjs';
|
|
6
5
|
import '@fern-api/ruby-ast';
|
|
6
|
+
import './EndpointSnippetGenerator.cjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AbstractDynamicSnippetsGenerator, FernGeneratorExec, AbstractFormatter } from '@fern-api/browser-compatible-base-generator';
|
|
2
2
|
import { FernIr } from '@fern-api/dynamic-ir-sdk';
|
|
3
|
+
import { D as DynamicSnippetsGeneratorContext } from './DynamicSnippetsGeneratorContext-Kt0XtRvQ.js';
|
|
3
4
|
import { EndpointSnippetGenerator } from './EndpointSnippetGenerator.js';
|
|
4
|
-
import { D as DynamicSnippetsGeneratorContext } from './DynamicSnippetsGeneratorContext-BGmCyT7y.js';
|
|
5
5
|
import '@fern-api/ruby-ast';
|
|
6
6
|
|
|
7
7
|
declare class DynamicSnippetsGenerator extends AbstractDynamicSnippetsGenerator<DynamicSnippetsGeneratorContext, EndpointSnippetGenerator> {
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-NOLMTKNR.js";import"./chunk-HW2BPM3B.js";import"./chunk-DC7MOL5X.js";import"./chunk-WLYQ7USA.js";import"./chunk-RKBBW5DU.js";export{a as DynamicSnippetsGenerator};
|
|
2
|
+
//# sourceMappingURL=DynamicSnippetsGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -39,7 +39,7 @@ declare class DynamicSnippetsGeneratorContext extends AbstractDynamicSnippetsGen
|
|
|
39
39
|
getRootClientClassReference(): ruby.ClassReference;
|
|
40
40
|
getRootClientClassName(): string;
|
|
41
41
|
getRootModuleName(): string;
|
|
42
|
-
isSingleEnvironmentID(environment: FernIr.dynamic.EnvironmentValues): environment is FernIr.EnvironmentId;
|
|
42
|
+
isSingleEnvironmentID(environment: FernIr.dynamic.EnvironmentValues): environment is FernIr.dynamic.EnvironmentId;
|
|
43
43
|
isMultiEnvironmentValues(environment: FernIr.dynamic.EnvironmentValues): environment is FernIr.dynamic.MultipleEnvironmentUrlValues;
|
|
44
44
|
getEnvironmentTypeReferenceFromID(environmentID: string): ruby.AstNode | undefined;
|
|
45
45
|
getEnvironmentClassReference(): ruby.AstNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AbstractFormatter } from '@fern-api/browser-compatible-base-generator';
|
|
2
2
|
import { FernIr } from '@fern-api/dynamic-ir-sdk';
|
|
3
|
-
import { D as DynamicSnippetsGeneratorContext } from './DynamicSnippetsGeneratorContext-
|
|
3
|
+
import { D as DynamicSnippetsGeneratorContext } from './DynamicSnippetsGeneratorContext-Kt0XtRvQ.js';
|
|
4
4
|
import '@fern-api/ruby-ast';
|
|
5
5
|
|
|
6
6
|
declare class EndpointSnippetGenerator {
|
|
@@ -22,6 +22,8 @@ declare class EndpointSnippetGenerator {
|
|
|
22
22
|
private constructClient;
|
|
23
23
|
private getRootClientBaseUrlArg;
|
|
24
24
|
private getRootClientAuthArgs;
|
|
25
|
+
private addError;
|
|
26
|
+
private addWarning;
|
|
25
27
|
private getRootClientBasicAuthArgs;
|
|
26
28
|
private getRootClientBearerAuthArgs;
|
|
27
29
|
private getRootClientHeaderAuthArgs;
|
|
@@ -29,7 +31,6 @@ declare class EndpointSnippetGenerator {
|
|
|
29
31
|
private getRootClientHeaderArgs;
|
|
30
32
|
private getRootClientBuilderArgs;
|
|
31
33
|
private callMethod;
|
|
32
|
-
private getMethodArgs;
|
|
33
34
|
private getMethodArgsForInlinedRequest;
|
|
34
35
|
private getNamedParameterArgs;
|
|
35
36
|
private getMethodArgsForPropertiesRequest;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import{a}from"./chunk-HW2BPM3B.js";import"./chunk-RKBBW5DU.js";export{a as EndpointSnippetGenerator};
|
|
2
|
+
//# sourceMappingURL=EndpointSnippetGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{a as h}from"./chunk-WLYQ7USA.js";import{a as d,b as r,c as o,g as b,h as i}from"./chunk-RKBBW5DU.js";r();o();r();o();r();o();r();o();r();o();r();o();r();o();var Y=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis,S=Y;var Q=typeof self=="object"&&self&&self.Object===Object&&self,X=S||Q||Function("return this")(),v=X;var $=v.Symbol,p=$;r();o();var R=Object.prototype,_=R.hasOwnProperty,ee=R.toString,m=p?p.toStringTag:void 0;function te(e){var a=_.call(e,m),t=e[m];try{e[m]=void 0;var f=!0}catch(x){}var l=ee.call(e);return f&&(a?e[m]=t:delete e[m]),l}var C=te;r();o();var re=Object.prototype,oe=re.toString;function ae(e){return oe.call(e)}var I=ae;var fe="[object Null]",se="[object Undefined]",N=p?p.toStringTag:void 0;function ue(e){return e==null?e===void 0?se:fe:N&&N in Object(e)?C(e):I(e)}var A=ue;r();o();function le(e){return e!=null&&typeof e=="object"}var T=le;var pe="[object Symbol]";function me(e){return typeof e=="symbol"||T(e)&&A(e)==pe}var j=me;r();o();r();o();function de(e,a){for(var t=-1,f=e==null?0:e.length,l=Array(f);++t<f;)l[t]=a(e[t],t,e);return l}var O=de;r();o();var ie=Array.isArray,w=ie;var ne=1/0,E=p?p.prototype:void 0,k=E?E.toString:void 0;function W(e){if(typeof e=="string")return e;if(w(e))return O(e,W)+"";if(j(e))return k?k.call(e):"";var a=e+"";return a=="0"&&1/e==-ne?"-0":a}var B=W;r();o();function xe(e){return e==null?"":B(e)}var M=xe;r();o();r();o();r();o();r();o();function ce(e,a,t){var f=-1,l=e.length;a<0&&(a=-a>l?0:l+a),t=t>l?l:t,t<0&&(t+=l),l=a>t?0:t-a>>>0,a>>>=0;for(var x=Array(l);++f<l;)x[f]=e[f+a];return x}var F=ce;function ge(e,a,t){var f=e.length;return t=t===void 0?f:t,!a&&t>=f?e:F(e,a,t)}var L=ge;r();o();var ye="\\ud800-\\udfff",be="\\u0300-\\u036f",he="\\ufe20-\\ufe2f",Se="\\u20d0-\\u20ff",ve=be+he+Se,Re="\\ufe0e\\ufe0f",Ce="\\u200d",Ie=RegExp("["+Ce+ye+ve+Re+"]");function Ne(e){return Ie.test(e)}var n=Ne;r();o();r();o();function Ae(e){return e.split("")}var D=Ae;r();o();var P="\\ud800-\\udfff",Te="\\u0300-\\u036f",je="\\ufe20-\\ufe2f",Oe="\\u20d0-\\u20ff",we=Te+je+Oe,Ee="\\ufe0e\\ufe0f",ke="["+P+"]",c="["+we+"]",g="\\ud83c[\\udffb-\\udfff]",We="(?:"+c+"|"+g+")",z="[^"+P+"]",U="(?:\\ud83c[\\udde6-\\uddff]){2}",q="[\\ud800-\\udbff][\\udc00-\\udfff]",Be="\\u200d",V=We+"?",G="["+Ee+"]?",Me="(?:"+Be+"(?:"+[z,U,q].join("|")+")"+G+V+")*",Fe=G+V+Me,Le="(?:"+[z+c+"?",c,U,q,ke].join("|")+")",De=RegExp(g+"(?="+g+")|"+Le+Fe,"g");function Pe(e){return e.match(De)||[]}var J=Pe;function ze(e){return n(e)?J(e):D(e)}var K=ze;function Ue(e){return function(a){a=M(a);var t=n(a)?K(a):void 0,f=t?t[0]:a.charAt(0),l=t?L(t,1).join(""):a.slice(1);return f[e]()+l}}var H=Ue;var qe=H("toUpperCase"),y=qe;var Z=class e extends b{constructor({ir:t,config:f}){super({ir:t,config:f});d(this,"ir");d(this,"customConfig");d(this,"dynamicTypeLiteralMapper");this.ir=t,this.customConfig=f.customConfig!=null?f.customConfig:void 0,this.dynamicTypeLiteralMapper=new h({context:this})}clone(){return new e({ir:this.ir,config:this.config})}getRootClientClassReference(){return i.classReference({name:this.getRootClientClassName(),modules:[this.getRootModuleName()]})}getRootClientClassName(){return"Client"}getRootModuleName(){var t,f;return y((f=(t=this.customConfig)==null?void 0:t.clientModuleName)!=null?f:this.config.organization)}isSingleEnvironmentID(t){return typeof t=="string"}isMultiEnvironmentValues(t){return typeof t=="object"}getEnvironmentTypeReferenceFromID(t){let f=this.resolveEnvironmentName(t);if(f!=null)return i.codeblock(l=>{l.writeNode(this.getEnvironmentClassReference()),l.write("::"),l.write(this.getEnumName(f))})}getEnvironmentClassReference(){return i.classReference({name:"Environment",modules:[this.getRootModuleName()]})}getEnumName(t){return this.getName(t.screamingSnakeCase.safeName)}getMethodName(t){return this.getName(t.snakeCase.safeName)}getPropertyName(t){return this.getName(t.camelCase.safeName)}getName(t){return t}};export{Z as a};
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
lodash-es/lodash.js:
|
|
5
|
+
(**
|
|
6
|
+
* @license
|
|
7
|
+
* Lodash (Custom Build) <https://lodash.com/>
|
|
8
|
+
* Build: `lodash modularize exports="es" -o ./`
|
|
9
|
+
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
10
|
+
* Released under MIT license <https://lodash.com/license>
|
|
11
|
+
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
12
|
+
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
13
|
+
*)
|
|
14
|
+
*/
|
|
15
|
+
//# sourceMappingURL=chunk-DC7MOL5X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/context/DynamicSnippetsGeneratorContext.ts","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/lodash.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isSymbol.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseGetTag.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_Symbol.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_root.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_freeGlobal.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_getRawTag.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_objectToString.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isObjectLike.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseToString.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayMap.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/isArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toString.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/upperFirst.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createCaseFirst.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_castSlice.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseSlice.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasUnicode.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_stringToArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_asciiToArray.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_unicodeToArray.js"],"sourcesContent":["import {\n AbstractDynamicSnippetsGeneratorContext,\n FernGeneratorExec\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { BaseRubyCustomConfigSchema, ruby } from \"@fern-api/ruby-ast\";\nimport { upperFirst } from \"lodash-es\";\n\nimport { DynamicTypeLiteralMapper } from \"./DynamicToLiteralMapper\";\n\nexport class DynamicSnippetsGeneratorContext extends AbstractDynamicSnippetsGeneratorContext {\n public ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n public customConfig: BaseRubyCustomConfigSchema | undefined;\n public dynamicTypeLiteralMapper: DynamicTypeLiteralMapper;\n\n constructor({\n ir,\n config\n }: {\n ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n config: FernGeneratorExec.GeneratorConfig;\n }) {\n super({ ir, config });\n this.ir = ir;\n this.customConfig =\n config.customConfig != null ? (config.customConfig as BaseRubyCustomConfigSchema) : undefined;\n this.dynamicTypeLiteralMapper = new DynamicTypeLiteralMapper({ context: this });\n }\n\n public clone(): DynamicSnippetsGeneratorContext {\n return new DynamicSnippetsGeneratorContext({\n ir: this.ir,\n config: this.config\n });\n }\n\n public getRootClientClassReference(): ruby.ClassReference {\n return ruby.classReference({\n name: this.getRootClientClassName(),\n modules: [this.getRootModuleName()]\n });\n }\n\n public getRootClientClassName(): string {\n return \"Client\";\n }\n\n public getRootModuleName(): string {\n return upperFirst(this.customConfig?.clientModuleName ?? this.config.organization);\n }\n\n public isSingleEnvironmentID(\n environment: FernIr.dynamic.EnvironmentValues\n ): environment is FernIr.dynamic.EnvironmentId {\n return typeof environment === \"string\";\n }\n\n public isMultiEnvironmentValues(\n environment: FernIr.dynamic.EnvironmentValues\n ): environment is FernIr.dynamic.MultipleEnvironmentUrlValues {\n return typeof environment === \"object\";\n }\n\n public getEnvironmentTypeReferenceFromID(environmentID: string): ruby.AstNode | undefined {\n const environmentName = this.resolveEnvironmentName(environmentID);\n if (environmentName == null) {\n return undefined;\n }\n return ruby.codeblock((writer) => {\n writer.writeNode(this.getEnvironmentClassReference());\n writer.write(\"::\");\n writer.write(this.getEnumName(environmentName));\n });\n }\n\n public getEnvironmentClassReference(): ruby.AstNode {\n return ruby.classReference({\n name: \"Environment\",\n modules: [this.getRootModuleName()]\n });\n }\n\n public getEnumName(name: FernIr.Name): string {\n return this.getName(name.screamingSnakeCase.safeName);\n }\n\n public getMethodName(name: FernIr.Name): string {\n return this.getName(name.snakeCase.safeName);\n }\n\n public getPropertyName(name: FernIr.Name): string {\n return this.getName(name.camelCase.safeName);\n }\n\n private getName(name: string): string {\n return name;\n }\n}\n","/**\n * @license\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"es\" -o ./`\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\nexport { default as add } from './add.js';\nexport { default as after } from './after.js';\nexport { default as ary } from './ary.js';\nexport { default as assign } from './assign.js';\nexport { default as assignIn } from './assignIn.js';\nexport { default as assignInWith } from './assignInWith.js';\nexport { default as assignWith } from './assignWith.js';\nexport { default as at } from './at.js';\nexport { default as attempt } from './attempt.js';\nexport { default as before } from './before.js';\nexport { default as bind } from './bind.js';\nexport { default as bindAll } from './bindAll.js';\nexport { default as bindKey } from './bindKey.js';\nexport { default as camelCase } from './camelCase.js';\nexport { default as capitalize } from './capitalize.js';\nexport { default as castArray } from './castArray.js';\nexport { default as ceil } from './ceil.js';\nexport { default as chain } from './chain.js';\nexport { default as chunk } from './chunk.js';\nexport { default as clamp } from './clamp.js';\nexport { default as clone } from './clone.js';\nexport { default as cloneDeep } from './cloneDeep.js';\nexport { default as cloneDeepWith } from './cloneDeepWith.js';\nexport { default as cloneWith } from './cloneWith.js';\nexport { default as commit } from './commit.js';\nexport { default as compact } from './compact.js';\nexport { default as concat } from './concat.js';\nexport { default as cond } from './cond.js';\nexport { default as conforms } from './conforms.js';\nexport { default as conformsTo } from './conformsTo.js';\nexport { default as constant } from './constant.js';\nexport { default as countBy } from './countBy.js';\nexport { default as create } from './create.js';\nexport { default as curry } from './curry.js';\nexport { default as curryRight } from './curryRight.js';\nexport { default as debounce } from './debounce.js';\nexport { default as deburr } from './deburr.js';\nexport { default as defaultTo } from './defaultTo.js';\nexport { default as defaults } from './defaults.js';\nexport { default as defaultsDeep } from './defaultsDeep.js';\nexport { default as defer } from './defer.js';\nexport { default as delay } from './delay.js';\nexport { default as difference } from './difference.js';\nexport { default as differenceBy } from './differenceBy.js';\nexport { default as differenceWith } from './differenceWith.js';\nexport { default as divide } from './divide.js';\nexport { default as drop } from './drop.js';\nexport { default as dropRight } from './dropRight.js';\nexport { default as dropRightWhile } from './dropRightWhile.js';\nexport { default as dropWhile } from './dropWhile.js';\nexport { default as each } from './each.js';\nexport { default as eachRight } from './eachRight.js';\nexport { default as endsWith } from './endsWith.js';\nexport { default as entries } from './entries.js';\nexport { default as entriesIn } from './entriesIn.js';\nexport { default as eq } from './eq.js';\nexport { default as escape } from './escape.js';\nexport { default as escapeRegExp } from './escapeRegExp.js';\nexport { default as every } from './every.js';\nexport { default as extend } from './extend.js';\nexport { default as extendWith } from './extendWith.js';\nexport { default as fill } from './fill.js';\nexport { default as filter } from './filter.js';\nexport { default as find } from './find.js';\nexport { default as findIndex } from './findIndex.js';\nexport { default as findKey } from './findKey.js';\nexport { default as findLast } from './findLast.js';\nexport { default as findLastIndex } from './findLastIndex.js';\nexport { default as findLastKey } from './findLastKey.js';\nexport { default as first } from './first.js';\nexport { default as flatMap } from './flatMap.js';\nexport { default as flatMapDeep } from './flatMapDeep.js';\nexport { default as flatMapDepth } from './flatMapDepth.js';\nexport { default as flatten } from './flatten.js';\nexport { default as flattenDeep } from './flattenDeep.js';\nexport { default as flattenDepth } from './flattenDepth.js';\nexport { default as flip } from './flip.js';\nexport { default as floor } from './floor.js';\nexport { default as flow } from './flow.js';\nexport { default as flowRight } from './flowRight.js';\nexport { default as forEach } from './forEach.js';\nexport { default as forEachRight } from './forEachRight.js';\nexport { default as forIn } from './forIn.js';\nexport { default as forInRight } from './forInRight.js';\nexport { default as forOwn } from './forOwn.js';\nexport { default as forOwnRight } from './forOwnRight.js';\nexport { default as fromPairs } from './fromPairs.js';\nexport { default as functions } from './functions.js';\nexport { default as functionsIn } from './functionsIn.js';\nexport { default as get } from './get.js';\nexport { default as groupBy } from './groupBy.js';\nexport { default as gt } from './gt.js';\nexport { default as gte } from './gte.js';\nexport { default as has } from './has.js';\nexport { default as hasIn } from './hasIn.js';\nexport { default as head } from './head.js';\nexport { default as identity } from './identity.js';\nexport { default as inRange } from './inRange.js';\nexport { default as includes } from './includes.js';\nexport { default as indexOf } from './indexOf.js';\nexport { default as initial } from './initial.js';\nexport { default as intersection } from './intersection.js';\nexport { default as intersectionBy } from './intersectionBy.js';\nexport { default as intersectionWith } from './intersectionWith.js';\nexport { default as invert } from './invert.js';\nexport { default as invertBy } from './invertBy.js';\nexport { default as invoke } from './invoke.js';\nexport { default as invokeMap } from './invokeMap.js';\nexport { default as isArguments } from './isArguments.js';\nexport { default as isArray } from './isArray.js';\nexport { default as isArrayBuffer } from './isArrayBuffer.js';\nexport { default as isArrayLike } from './isArrayLike.js';\nexport { default as isArrayLikeObject } from './isArrayLikeObject.js';\nexport { default as isBoolean } from './isBoolean.js';\nexport { default as isBuffer } from './isBuffer.js';\nexport { default as isDate } from './isDate.js';\nexport { default as isElement } from './isElement.js';\nexport { default as isEmpty } from './isEmpty.js';\nexport { default as isEqual } from './isEqual.js';\nexport { default as isEqualWith } from './isEqualWith.js';\nexport { default as isError } from './isError.js';\nexport { default as isFinite } from './isFinite.js';\nexport { default as isFunction } from './isFunction.js';\nexport { default as isInteger } from './isInteger.js';\nexport { default as isLength } from './isLength.js';\nexport { default as isMap } from './isMap.js';\nexport { default as isMatch } from './isMatch.js';\nexport { default as isMatchWith } from './isMatchWith.js';\nexport { default as isNaN } from './isNaN.js';\nexport { default as isNative } from './isNative.js';\nexport { default as isNil } from './isNil.js';\nexport { default as isNull } from './isNull.js';\nexport { default as isNumber } from './isNumber.js';\nexport { default as isObject } from './isObject.js';\nexport { default as isObjectLike } from './isObjectLike.js';\nexport { default as isPlainObject } from './isPlainObject.js';\nexport { default as isRegExp } from './isRegExp.js';\nexport { default as isSafeInteger } from './isSafeInteger.js';\nexport { default as isSet } from './isSet.js';\nexport { default as isString } from './isString.js';\nexport { default as isSymbol } from './isSymbol.js';\nexport { default as isTypedArray } from './isTypedArray.js';\nexport { default as isUndefined } from './isUndefined.js';\nexport { default as isWeakMap } from './isWeakMap.js';\nexport { default as isWeakSet } from './isWeakSet.js';\nexport { default as iteratee } from './iteratee.js';\nexport { default as join } from './join.js';\nexport { default as kebabCase } from './kebabCase.js';\nexport { default as keyBy } from './keyBy.js';\nexport { default as keys } from './keys.js';\nexport { default as keysIn } from './keysIn.js';\nexport { default as last } from './last.js';\nexport { default as lastIndexOf } from './lastIndexOf.js';\nexport { default as lodash } from './wrapperLodash.js';\nexport { default as lowerCase } from './lowerCase.js';\nexport { default as lowerFirst } from './lowerFirst.js';\nexport { default as lt } from './lt.js';\nexport { default as lte } from './lte.js';\nexport { default as map } from './map.js';\nexport { default as mapKeys } from './mapKeys.js';\nexport { default as mapValues } from './mapValues.js';\nexport { default as matches } from './matches.js';\nexport { default as matchesProperty } from './matchesProperty.js';\nexport { default as max } from './max.js';\nexport { default as maxBy } from './maxBy.js';\nexport { default as mean } from './mean.js';\nexport { default as meanBy } from './meanBy.js';\nexport { default as memoize } from './memoize.js';\nexport { default as merge } from './merge.js';\nexport { default as mergeWith } from './mergeWith.js';\nexport { default as method } from './method.js';\nexport { default as methodOf } from './methodOf.js';\nexport { default as min } from './min.js';\nexport { default as minBy } from './minBy.js';\nexport { default as mixin } from './mixin.js';\nexport { default as multiply } from './multiply.js';\nexport { default as negate } from './negate.js';\nexport { default as next } from './next.js';\nexport { default as noop } from './noop.js';\nexport { default as now } from './now.js';\nexport { default as nth } from './nth.js';\nexport { default as nthArg } from './nthArg.js';\nexport { default as omit } from './omit.js';\nexport { default as omitBy } from './omitBy.js';\nexport { default as once } from './once.js';\nexport { default as orderBy } from './orderBy.js';\nexport { default as over } from './over.js';\nexport { default as overArgs } from './overArgs.js';\nexport { default as overEvery } from './overEvery.js';\nexport { default as overSome } from './overSome.js';\nexport { default as pad } from './pad.js';\nexport { default as padEnd } from './padEnd.js';\nexport { default as padStart } from './padStart.js';\nexport { default as parseInt } from './parseInt.js';\nexport { default as partial } from './partial.js';\nexport { default as partialRight } from './partialRight.js';\nexport { default as partition } from './partition.js';\nexport { default as pick } from './pick.js';\nexport { default as pickBy } from './pickBy.js';\nexport { default as plant } from './plant.js';\nexport { default as property } from './property.js';\nexport { default as propertyOf } from './propertyOf.js';\nexport { default as pull } from './pull.js';\nexport { default as pullAll } from './pullAll.js';\nexport { default as pullAllBy } from './pullAllBy.js';\nexport { default as pullAllWith } from './pullAllWith.js';\nexport { default as pullAt } from './pullAt.js';\nexport { default as random } from './random.js';\nexport { default as range } from './range.js';\nexport { default as rangeRight } from './rangeRight.js';\nexport { default as rearg } from './rearg.js';\nexport { default as reduce } from './reduce.js';\nexport { default as reduceRight } from './reduceRight.js';\nexport { default as reject } from './reject.js';\nexport { default as remove } from './remove.js';\nexport { default as repeat } from './repeat.js';\nexport { default as replace } from './replace.js';\nexport { default as rest } from './rest.js';\nexport { default as result } from './result.js';\nexport { default as reverse } from './reverse.js';\nexport { default as round } from './round.js';\nexport { default as sample } from './sample.js';\nexport { default as sampleSize } from './sampleSize.js';\nexport { default as set } from './set.js';\nexport { default as setWith } from './setWith.js';\nexport { default as shuffle } from './shuffle.js';\nexport { default as size } from './size.js';\nexport { default as slice } from './slice.js';\nexport { default as snakeCase } from './snakeCase.js';\nexport { default as some } from './some.js';\nexport { default as sortBy } from './sortBy.js';\nexport { default as sortedIndex } from './sortedIndex.js';\nexport { default as sortedIndexBy } from './sortedIndexBy.js';\nexport { default as sortedIndexOf } from './sortedIndexOf.js';\nexport { default as sortedLastIndex } from './sortedLastIndex.js';\nexport { default as sortedLastIndexBy } from './sortedLastIndexBy.js';\nexport { default as sortedLastIndexOf } from './sortedLastIndexOf.js';\nexport { default as sortedUniq } from './sortedUniq.js';\nexport { default as sortedUniqBy } from './sortedUniqBy.js';\nexport { default as split } from './split.js';\nexport { default as spread } from './spread.js';\nexport { default as startCase } from './startCase.js';\nexport { default as startsWith } from './startsWith.js';\nexport { default as stubArray } from './stubArray.js';\nexport { default as stubFalse } from './stubFalse.js';\nexport { default as stubObject } from './stubObject.js';\nexport { default as stubString } from './stubString.js';\nexport { default as stubTrue } from './stubTrue.js';\nexport { default as subtract } from './subtract.js';\nexport { default as sum } from './sum.js';\nexport { default as sumBy } from './sumBy.js';\nexport { default as tail } from './tail.js';\nexport { default as take } from './take.js';\nexport { default as takeRight } from './takeRight.js';\nexport { default as takeRightWhile } from './takeRightWhile.js';\nexport { default as takeWhile } from './takeWhile.js';\nexport { default as tap } from './tap.js';\nexport { default as template } from './template.js';\nexport { default as templateSettings } from './templateSettings.js';\nexport { default as throttle } from './throttle.js';\nexport { default as thru } from './thru.js';\nexport { default as times } from './times.js';\nexport { default as toArray } from './toArray.js';\nexport { default as toFinite } from './toFinite.js';\nexport { default as toInteger } from './toInteger.js';\nexport { default as toIterator } from './toIterator.js';\nexport { default as toJSON } from './toJSON.js';\nexport { default as toLength } from './toLength.js';\nexport { default as toLower } from './toLower.js';\nexport { default as toNumber } from './toNumber.js';\nexport { default as toPairs } from './toPairs.js';\nexport { default as toPairsIn } from './toPairsIn.js';\nexport { default as toPath } from './toPath.js';\nexport { default as toPlainObject } from './toPlainObject.js';\nexport { default as toSafeInteger } from './toSafeInteger.js';\nexport { default as toString } from './toString.js';\nexport { default as toUpper } from './toUpper.js';\nexport { default as transform } from './transform.js';\nexport { default as trim } from './trim.js';\nexport { default as trimEnd } from './trimEnd.js';\nexport { default as trimStart } from './trimStart.js';\nexport { default as truncate } from './truncate.js';\nexport { default as unary } from './unary.js';\nexport { default as unescape } from './unescape.js';\nexport { default as union } from './union.js';\nexport { default as unionBy } from './unionBy.js';\nexport { default as unionWith } from './unionWith.js';\nexport { default as uniq } from './uniq.js';\nexport { default as uniqBy } from './uniqBy.js';\nexport { default as uniqWith } from './uniqWith.js';\nexport { default as uniqueId } from './uniqueId.js';\nexport { default as unset } from './unset.js';\nexport { default as unzip } from './unzip.js';\nexport { default as unzipWith } from './unzipWith.js';\nexport { default as update } from './update.js';\nexport { default as updateWith } from './updateWith.js';\nexport { default as upperCase } from './upperCase.js';\nexport { default as upperFirst } from './upperFirst.js';\nexport { default as value } from './value.js';\nexport { default as valueOf } from './valueOf.js';\nexport { default as values } from './values.js';\nexport { default as valuesIn } from './valuesIn.js';\nexport { default as without } from './without.js';\nexport { default as words } from './words.js';\nexport { default as wrap } from './wrap.js';\nexport { default as wrapperAt } from './wrapperAt.js';\nexport { default as wrapperChain } from './wrapperChain.js';\nexport { default as wrapperCommit } from './commit.js';\nexport { default as wrapperLodash } from './wrapperLodash.js';\nexport { default as wrapperNext } from './next.js';\nexport { default as wrapperPlant } from './plant.js';\nexport { default as wrapperReverse } from './wrapperReverse.js';\nexport { default as wrapperToIterator } from './toIterator.js';\nexport { default as wrapperValue } from './wrapperValue.js';\nexport { default as xor } from './xor.js';\nexport { default as xorBy } from './xorBy.js';\nexport { default as xorWith } from './xorWith.js';\nexport { default as zip } from './zip.js';\nexport { default as zipObject } from './zipObject.js';\nexport { default as zipObjectDeep } from './zipObjectDeep.js';\nexport { default as zipWith } from './zipWith.js';\nexport { default } from './lodash.default.js';\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import createCaseFirst from './_createCaseFirst.js';\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nexport default upperFirst;\n","import castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nexport default createCaseFirst;\n","import baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nexport default hasUnicode;\n","import asciiToArray from './_asciiToArray.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeToArray from './_unicodeToArray.js';\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nexport default stringToArray;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nexport default asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nexport default unicodeToArray;\n"],"mappings":"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","names":["init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","freeGlobal","freeGlobal_default","freeSelf","root","freeGlobal_default","root_default","Symbol","root_default","Symbol_default","init_process","init_buffer","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","Symbol_default","getRawTag","value","isOwn","tag","unmasked","e","result","getRawTag_default","init_process","init_buffer","objectProto","nativeObjectToString","objectToString","value","objectToString_default","nullTag","undefinedTag","symToStringTag","Symbol_default","baseGetTag","value","getRawTag_default","objectToString_default","baseGetTag_default","init_process","init_buffer","isObjectLike","value","isObjectLike_default","symbolTag","isSymbol","value","isObjectLike_default","baseGetTag_default","isSymbol_default","init_process","init_buffer","init_process","init_buffer","arrayMap","array","iteratee","index","length","result","arrayMap_default","init_process","init_buffer","isArray","isArray_default","INFINITY","symbolProto","Symbol_default","symbolToString","baseToString","value","isArray_default","arrayMap_default","isSymbol_default","result","baseToString_default","init_process","init_buffer","toString","value","baseToString_default","toString_default","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","baseSlice","array","start","end","index","length","result","baseSlice_default","castSlice","array","start","end","length","baseSlice_default","castSlice_default","init_process","init_buffer","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsZWJ","reHasUnicode","hasUnicode","string","hasUnicode_default","init_process","init_buffer","init_process","init_buffer","asciiToArray","string","asciiToArray_default","init_process","init_buffer","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsVarRange","rsAstral","rsCombo","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsZWJ","reOptMod","rsOptVar","rsOptJoin","rsSeq","rsSymbol","reUnicode","unicodeToArray","string","unicodeToArray_default","stringToArray","string","hasUnicode_default","unicodeToArray_default","asciiToArray_default","stringToArray_default","createCaseFirst","methodName","string","toString_default","strSymbols","hasUnicode_default","stringToArray_default","chr","trailing","castSlice_default","createCaseFirst_default","upperFirst","createCaseFirst_default","upperFirst_default","DynamicSnippetsGeneratorContext","_DynamicSnippetsGeneratorContext","AbstractDynamicSnippetsGeneratorContext","ir","config","__publicField","DynamicTypeLiteralMapper","ruby_exports","_a","_b","upperFirst_default","environment","environmentID","environmentName","writer","name"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as u,b as c,c as m,d as o,f as d,h as n}from"./chunk-RKBBW5DU.js";c();m();var y="client",l=class{constructor({context:e,formatter:t}){u(this,"context");u(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})}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 this.addWarning("Ruby SDK does not support inferred auth yet"),[];default:o(e)}}addError(e){this.context.errors.add({severity:d.Critical,message:e})}addWarning(e){this.context.errors.add({severity:d.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:o(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:o(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)a.push(n.keywordArgument({name:this.context.getPropertyName(i.name.name),value:this.context.dynamicTypeLiteralMapper.convert(i)}))}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)r.push(n.keywordArgument({name:this.context.getPropertyName(i.name.name),value:this.context.dynamicTypeLiteralMapper.convert(i)}));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:o(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-HW2BPM3B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/EndpointSnippetGenerator.ts"],"sourcesContent":["import { AbstractFormatter, 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 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 this.addWarning(\"Ruby SDK does not support inferred auth yet\");\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 args.push(\n ruby.keywordArgument({\n name: this.context.getPropertyName(parameter.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert(parameter)\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 args.push(\n ruby.keywordArgument({\n name: this.context.getPropertyName(parameter.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert(parameter)\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":"2EAAAA,IAAAC,IAOA,IAAMC,EAAkB,SAEXC,EAAN,KAA+B,CAIlC,YAAY,CAAE,QAAAC,EAAS,UAAAC,CAAU,EAAgF,CAHjHC,EAAA,KAAQ,WACRA,EAAA,KAAQ,aAGJ,KAAK,QAAUF,EACf,KAAK,UAAYC,CACrB,CAEA,MAAa,gBAAgB,CACzB,SAAAE,EACA,QAAAC,CACJ,EAGoB,CAxBxB,IAAAC,EA0BQ,OAAO,MADM,KAAK,eAAe,CAAE,SAAAF,EAAU,QAASC,CAAQ,CAAC,EAC7C,cAAc,CAC5B,cAAcC,EAAA,KAAK,QAAQ,eAAb,KAAAA,EAA6B,CAAC,EAC5C,UAAW,KAAK,SACpB,CAAC,CACL,CAEO,oBAAoB,CACvB,SAAAF,EACA,QAAAC,CACJ,EAGW,CAtCf,IAAAC,EAwCQ,OADa,KAAK,eAAe,CAAE,SAAAF,EAAU,QAASC,CAAQ,CAAC,EACnD,SAAS,CACjB,cAAcC,EAAA,KAAK,QAAQ,eAAb,KAAAA,EAA6B,CAAC,EAC5C,UAAW,KAAK,SACpB,CAAC,CACL,CAEQ,eAAe,CACnB,SAAAF,EACA,QAAAG,CACJ,EAGiB,CAEb,OAAOC,EAAK,UAAWC,GAAW,CAC9BA,EAAO,mBAAmB,KAAK,gBAAgB,CAAE,SAAAL,EAAU,QAAAG,CAAQ,CAAC,CAAC,EACrEE,EAAO,QAAQ,EACfA,EAAO,mBAAmB,KAAK,WAAW,CAAE,SAAAL,EAAU,QAAAG,CAAQ,CAAC,CAAC,CACpE,CAAC,CACL,CAEQ,gBAAgB,CACpB,SAAAH,EACA,QAAAG,CACJ,EAGiB,CACb,OAAOC,EAAK,UAAWC,GAAW,CAC9BA,EAAO,WAAW,KAAK,QAAQ,kBAAkB,EAAE,YAAY,CAAC,EAEhE,IAAMC,EAAiB,KAAK,QAAQ,4BAA4B,EAC1DC,EAAc,KAAK,yBAAyB,CAAE,SAAAP,EAAU,QAAAG,CAAQ,CAAC,EAEvEE,EAAO,MAAM,GAAGV,CAAe,KAAK,EACpCU,EAAO,UACHD,EAAK,iBAAiB,CAClB,eAAgBE,EAChB,WAAYC,CAChB,CAAC,CACL,CACJ,CAAC,CACL,CAGQ,wBAAwB,CAC5B,QAAAC,EACA,YAAAC,CACJ,EAG2B,CACvB,GAAID,GAAW,MAAQC,GAAe,KAClC,YAAK,QAAQ,OAAO,IAAI,CACpB,SAAU,WACV,QAAS,qDACb,CAAC,EACM,CAAC,EAEZ,GAAID,GAAW,KACX,MAAO,CACHJ,EAAK,gBAAgB,CACjB,KAAM,WACN,MAAOA,EAAK,YAAY,OAAOI,CAAO,CAC1C,CAAC,CACL,EAEJ,GAAIC,GAAe,KAAM,CACrB,GAAI,KAAK,QAAQ,sBAAsBA,CAAW,EAAG,CACjD,IAAMC,EAA2B,KAAK,QAAQ,kCAAkCD,CAAW,EAC3F,OAAIC,GAA4B,MAC5B,KAAK,QAAQ,OAAO,IAAI,CACpB,SAAU,WACV,QAAS,kBAAkBD,CAAW,YAC1C,CAAC,EACM,CAAC,GAGL,CACHL,EAAK,gBAAgB,CACjB,KAAM,cACN,MAAOM,CACX,CAAC,CACL,CACJ,CACA,GAAI,KAAK,QAAQ,yBAAyBD,CAAW,EACjD,YAAK,QAAQ,OAAO,IAAI,CACpB,SAAU,WACV,QAAS,iEACb,CAAC,EACM,CAAC,CAEhB,CACA,MAAO,CAAC,CACZ,CAGQ,sBAAsB,CAC1B,KAAAE,EACA,OAAAC,CACJ,EAG2B,CACvB,GAAIA,EAAO,OAASD,EAAK,KACrB,YAAK,SAAS,KAAK,QAAQ,qBAAqB,CAAE,KAAAA,EAAM,OAAAC,CAAO,CAAC,EAAE,OAAO,EAClE,CAAC,EAGZ,OAAQD,EAAK,KAAM,CACf,IAAK,QACD,OAAOC,EAAO,OAAS,QAAU,KAAK,2BAA2B,CAAE,KAAAD,EAAM,OAAAC,CAAO,CAAC,EAAI,CAAC,EAC1F,IAAK,SACD,OAAOA,EAAO,OAAS,SAAW,KAAK,4BAA4B,CAAE,KAAAD,EAAM,OAAAC,CAAO,CAAC,EAAI,CAAC,EAC5F,IAAK,SACD,OAAOA,EAAO,OAAS,SAAW,KAAK,4BAA4B,CAAE,KAAAD,EAAM,OAAAC,CAAO,CAAC,EAAI,CAAC,EAC5F,IAAK,QACD,OAAOA,EAAO,OAAS,QAAU,KAAK,uBAAuB,CAAE,KAAAD,EAAM,OAAAC,CAAO,CAAC,EAAI,CAAC,EACtF,IAAK,WACD,YAAK,WAAW,6CAA6C,EACtD,CAAC,EACZ,QACIC,EAAYF,CAAI,CACxB,CACJ,CAEQ,SAASG,EAAuB,CACpC,KAAK,QAAQ,OAAO,IAAI,CAAE,SAAUC,EAAS,SAAU,QAAAD,CAAQ,CAAC,CACpE,CAEQ,WAAWA,EAAuB,CACtC,KAAK,QAAQ,OAAO,IAAI,CAAE,SAAUC,EAAS,QAAS,QAAAD,CAAQ,CAAC,CACnE,CAEQ,2BAA2B,CAC/B,KAAAH,EACA,OAAAC,CACJ,EAG2B,CACvB,MAAO,CACHR,EAAK,gBAAgB,CACjB,KAAMO,EAAK,SAAS,UAAU,SAC9B,MAAOP,EAAK,YAAY,OAAOQ,EAAO,QAAQ,CAClD,CAAC,EACDR,EAAK,gBAAgB,CACjB,KAAMO,EAAK,SAAS,UAAU,SAC9B,MAAOP,EAAK,YAAY,OAAOQ,EAAO,QAAQ,CAClD,CAAC,CACL,CACJ,CAEQ,4BAA4B,CAChC,KAAAD,EACA,OAAAC,CACJ,EAG2B,CACvB,MAAO,CACHR,EAAK,gBAAgB,CACjB,KAAMO,EAAK,MAAM,UAAU,SAC3B,MAAOP,EAAK,YAAY,OAAOQ,EAAO,KAAK,CAC/C,CAAC,CACL,CACJ,CAEQ,4BAA4B,CAChC,KAAAD,EACA,OAAAC,CACJ,EAG2B,CACvB,MAAO,CACHR,EAAK,gBAAgB,CACjB,KAAMO,EAAK,OAAO,KAAK,KAAK,UAAU,SACtC,MAAOP,EAAK,YAAY,OAAOQ,EAAO,KAAe,CACzD,CAAC,CACL,CACJ,CAEQ,uBAAuB,CAC3B,KAAAD,EACA,OAAAC,CACJ,EAG2B,CAEvB,MAAO,CACHR,EAAK,gBAAgB,CACjB,KAAMO,EAAK,SAAS,UAAU,SAC9B,MAAOP,EAAK,YAAY,OAAOQ,EAAO,QAAQ,CAClD,CAAC,EACDR,EAAK,gBAAgB,CACjB,KAAMO,EAAK,aAAa,UAAU,SAClC,MAAOP,EAAK,YAAY,OAAOQ,EAAO,YAAY,CACtD,CAAC,CACL,CACJ,CAGQ,wBAAwB,CAC5B,QAAAI,EACA,OAAAJ,CACJ,EAG2B,CACvB,IAAMK,EAA+B,CAAC,EACtC,QAAWC,KAAUF,EAAS,CAC1B,IAAMG,EAAQP,EAAOM,EAAO,KAAK,KAAK,YAAY,EAC9CC,GAAS,MAAQ,OAAOA,GAAU,UAClCF,EAAK,KACDb,EAAK,gBAAgB,CACjB,KAAMc,EAAO,KAAK,KAAK,UAAU,SACjC,MAAOd,EAAK,YAAY,OAAOe,CAAK,CACxC,CAAC,CACL,CAER,CACA,OAAOF,CACX,CAGQ,yBAAyB,CAC7B,SAAAjB,EACA,QAAAG,CACJ,EAG2B,CACvB,IAAMI,EAAsC,CAAC,EAGzCP,EAAS,MAAQ,OACbG,EAAQ,MAAQ,KAChBI,EAAY,KAAK,GAAG,KAAK,sBAAsB,CAAE,KAAMP,EAAS,KAAM,OAAQG,EAAQ,IAAK,CAAC,CAAC,EAE7F,KAAK,QAAQ,OAAO,IAAI,CACpB,SAAU,UACV,QAAS,aAAaH,EAAS,KAAK,IAAI,8CAC5C,CAAC,GAKT,IAAMoB,EAAc,KAAK,wBAAwB,CAC7C,QAASjB,EAAQ,QACjB,YAAaA,EAAQ,WACzB,CAAC,EACD,OAAIiB,EAAY,OAAS,GACrBb,EAAY,KAAK,GAAGa,CAAW,EAInC,KAAK,QAAQ,OAAO,MAAM,SAAS,EAC/B,KAAK,QAAQ,GAAG,SAAW,MAAQjB,EAAQ,SAAW,MACtDI,EAAY,KACR,GAAG,KAAK,wBAAwB,CAAE,QAAS,KAAK,QAAQ,GAAG,QAAS,OAAQJ,EAAQ,OAAQ,CAAC,CACjG,EAEJ,KAAK,QAAQ,OAAO,QAAQ,EAErBI,CACX,CAEQ,WAAW,CACf,SAAAP,EACA,QAAAG,CACJ,EAG0B,CACtB,IAAMkB,EAA+C,CACjD,GAAIjB,EAAK,UAAUT,CAAe,EAClC,OAAQ,KAAK,UAAU,CAAE,SAAAK,CAAS,CAAC,EACnC,WAAY,CAAC,CACjB,EAEA,OAAQA,EAAS,QAAQ,KAAM,CAC3B,IAAK,UACDqB,EAAiB,iBAAmB,KAAK,+BAA+B,CACpE,QAASrB,EAAS,QAClB,QAAAG,CACJ,CAAC,EACD,MACJ,IAAK,OACDkB,EAAiB,WAAa,KAAK,4BAA4B,CAC3D,QAASrB,EAAS,QAClB,QAAAG,CACJ,CAAC,EACD,MACJ,QACIU,EAAYb,EAAS,OAAO,CACpC,CAEA,OAAOI,EAAK,aAAaiB,CAAgB,CAC7C,CAEQ,+BAA+B,CACnC,QAAApB,EACA,QAAAE,CACJ,EAG2B,CACvB,IAAMc,EAA+B,CAAC,EAyBtC,GAvBAA,EAAK,KACD,GAAG,KAAK,sBAAsB,CAC1B,KAAM,iBACN,gBAAiBhB,EAAQ,eACzB,OAAQE,EAAQ,cACpB,CAAC,CACL,EACAc,EAAK,KACD,GAAG,KAAK,sBAAsB,CAC1B,KAAM,kBACN,gBAAiBhB,EAAQ,gBACzB,OAAQE,EAAQ,eACpB,CAAC,CACL,EACAc,EAAK,KACD,GAAG,KAAK,sBAAsB,CAC1B,KAAM,UACN,gBAAiBhB,EAAQ,QACzB,OAAQE,EAAQ,OACpB,CAAC,CACL,EAGIF,EAAQ,MAAQ,KAChB,OAAQA,EAAQ,KAAK,KAAM,CACvB,IAAK,aACDgB,EAAK,KAAK,GAAG,KAAK,kCAAkC,CAAE,QAAShB,EAAQ,KAAM,QAAAE,CAAQ,CAAC,CAAC,EACvF,MACJ,IAAK,aACL,IAAK,aAED,MACJ,QACIU,EAAYZ,EAAQ,IAAI,CAChC,CAGJ,OAAOgB,CACX,CAEQ,sBAAsB,CAC1B,KAAAK,EACA,gBAAAC,EACA,OAAAX,CACJ,EAI2B,CACvB,IAAMK,EAA+B,CAAC,EAEtC,GADA,KAAK,QAAQ,OAAO,MAAMK,CAAI,EAC1BC,GAAmB,KAAM,CACzB,IAAMC,EAAa,KAAK,QAAQ,qBAAqB,CACjD,WAAYD,EACZ,OAAQX,GAAA,KAAAA,EAAU,CAAC,EACnB,wBAAyB,EAC7B,CAAC,EACD,QAAWa,KAAaD,EACpBP,EAAK,KACDb,EAAK,gBAAgB,CACjB,KAAM,KAAK,QAAQ,gBAAgBqB,EAAU,KAAK,IAAI,EACtD,MAAO,KAAK,QAAQ,yBAAyB,QAAQA,CAAS,CAClE,CAAC,CACL,CAER,CACA,YAAK,QAAQ,OAAO,QAAQ,EACrBR,CACX,CAEQ,kCAAkC,CACtC,QAAAhB,EACA,QAAAE,CACJ,EAG2B,CA3a/B,IAAAD,EA4aQ,IAAMe,EAA+B,CAAC,EAEhCS,EAAiB,KAAK,QAAQ,qBAAqB,CACrD,WAAYzB,EAAQ,MACpB,QAAQC,EAAA,KAAK,QAAQ,UAAUC,EAAQ,WAAW,IAA1C,KAAAD,EAA+C,CAAC,CAC5D,CAAC,EACD,QAAWuB,KAAaC,EACpBT,EAAK,KACDb,EAAK,gBAAgB,CACjB,KAAM,KAAK,QAAQ,gBAAgBqB,EAAU,KAAK,IAAI,EACtD,MAAO,KAAK,QAAQ,yBAAyB,QAAQA,CAAS,CAClE,CAAC,CACL,EAEJ,OAAOR,CACX,CAEQ,4BAA4B,CAChC,QAAAhB,EACA,QAAAE,CACJ,EAGmB,CAncvB,IAAAD,EAocQ,IAAMe,EAAuB,CAAC,EAI9B,GADA,KAAK,QAAQ,OAAO,MAAM,gBAAgB,EACtChB,EAAQ,gBAAkB,KAAM,CAChC,IAAMuB,EAAa,KAAK,QAAQ,qBAAqB,CACjD,WAAYvB,EAAQ,eACpB,QAAQC,EAAAC,EAAQ,iBAAR,KAAAD,EAA0B,CAAC,EACnC,wBAAyB,EAC7B,CAAC,EACD,QAAWuB,KAAaD,EACpBP,EAAK,KACDb,EAAK,mBAAmB,CACpB,MAAO,KAAK,QAAQ,yBAAyB,QAAQqB,CAAS,CAClE,CAAC,CACL,CAER,CAIA,GAHA,KAAK,QAAQ,OAAO,QAAQ,EAGxBxB,EAAQ,MAAQ,KAChB,OAAQA,EAAQ,KAAK,KAAM,CACvB,IAAK,QAED,KAAK,QAAQ,OAAO,IAAI,CACpB,SAAU,WACV,QAAS,0DACb,CAAC,EACD,MACJ,IAAK,gBACDgB,EAAK,KACDb,EAAK,mBAAmB,CACpB,MAAO,KAAK,QAAQ,yBAAyB,QAAQ,CACjD,cAAeH,EAAQ,KAAK,MAC5B,MAAO,KAAK,QAAQ,UAAUE,EAAQ,WAAW,CACrD,CAAC,CACL,CAAC,CACL,EACA,MACJ,QACIU,EAAYZ,EAAQ,IAAI,CAChC,CAGJ,OAAOgB,CACX,CAEQ,UAAU,CAAE,SAAAjB,CAAS,EAAkD,CAC3E,OAAIA,EAAS,YAAY,aAAa,SAAS,OAAS,EAC7C,GAAGA,EAAS,YAAY,aAAa,SACvC,IAAK2B,GAAQ,GAAG,KAAK,QAAQ,cAAcA,CAAG,CAAC,EAAE,EACjD,KAAK,GAAG,CAAC,IAAI,KAAK,QAAQ,cAAc3B,EAAS,YAAY,IAAI,CAAC,GAEpE,KAAK,QAAQ,cAAcA,EAAS,YAAY,IAAI,CAC/D,CACJ","names":["init_process","init_buffer","CLIENT_VAR_NAME","EndpointSnippetGenerator","context","formatter","__publicField","endpoint","request","_a","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"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i}from"./chunk-HW2BPM3B.js";import{a as p}from"./chunk-DC7MOL5X.js";import{a as r,b as t,c as n,e as o}from"./chunk-RKBBW5DU.js";t();n();var a=class extends o{constructor({ir:e,config:m,formatter:c}){super(new p({ir:e,config:m}));r(this,"formatter");this.formatter=c}async generate(e){return super.generate(e)}generateSync(e){return super.generateSync(e)}createSnippetGenerator(e){return new i({context:e,formatter:this.formatter})}};export{a};
|
|
2
|
+
//# sourceMappingURL=chunk-NOLMTKNR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/DynamicSnippetsGenerator.ts"],"sourcesContent":["import {\n AbstractDynamicSnippetsGenerator,\n AbstractFormatter,\n FernGeneratorExec\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { DynamicSnippetsGeneratorContext } from \"./context/DynamicSnippetsGeneratorContext\";\nimport { EndpointSnippetGenerator } from \"./EndpointSnippetGenerator\";\n\nexport class DynamicSnippetsGenerator extends AbstractDynamicSnippetsGenerator<\n DynamicSnippetsGeneratorContext,\n EndpointSnippetGenerator\n> {\n private formatter: AbstractFormatter | undefined;\n\n constructor({\n ir,\n config,\n formatter\n }: {\n ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n config: FernGeneratorExec.GeneratorConfig;\n formatter?: AbstractFormatter;\n }) {\n super(new DynamicSnippetsGeneratorContext({ ir, config }));\n this.formatter = formatter;\n }\n\n public async generate(\n request: FernIr.dynamic.EndpointSnippetRequest\n ): Promise<FernIr.dynamic.EndpointSnippetResponse> {\n return super.generate(request);\n }\n\n public generateSync(request: FernIr.dynamic.EndpointSnippetRequest): FernIr.dynamic.EndpointSnippetResponse {\n return super.generateSync(request);\n }\n\n protected createSnippetGenerator(context: DynamicSnippetsGeneratorContext): EndpointSnippetGenerator {\n return new EndpointSnippetGenerator({ context, formatter: this.formatter });\n }\n}\n"],"mappings":"6IAAAA,IAAAC,IASO,IAAMC,EAAN,cAAuCC,CAG5C,CAGE,YAAY,CACR,GAAAC,EACA,OAAAC,EACA,UAAAC,CACJ,EAIG,CACC,MAAM,IAAIC,EAAgC,CAAE,GAAAH,EAAI,OAAAC,CAAO,CAAC,CAAC,EAX7DG,EAAA,KAAQ,aAYJ,KAAK,UAAYF,CACrB,CAEA,MAAa,SACTG,EAC+C,CAC/C,OAAO,MAAM,SAASA,CAAO,CACjC,CAEO,aAAaA,EAAwF,CACxG,OAAO,MAAM,aAAaA,CAAO,CACrC,CAEU,uBAAuBC,EAAoE,CACjG,OAAO,IAAIC,EAAyB,CAAE,QAAAD,EAAS,UAAW,KAAK,SAAU,CAAC,CAC9E,CACJ","names":["init_process","init_buffer","DynamicSnippetsGenerator","AbstractDynamicSnippetsGenerator","ir","config","formatter","DynamicSnippetsGeneratorContext","__publicField","request","context","EndpointSnippetGenerator"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var ze=Object.defineProperty,bt=Object.defineProperties;var Nt=Object.getOwnPropertyDescriptors;var ye=Object.getOwnPropertySymbols;var je=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var Be=(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 qe=i=>typeof i=="symbol"?i:i+"",Je=(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 qt(i){throw new Error("process.binding is not supported")}function Jt(){return"/"}function Xt(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,Dt,$t,Mt,Yt,Ot,Wt,Vt,zt,jt,Gt,Ht,Kt,ee,Qt,tr,p,Xe,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={},Dt=[],$t="",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:Dt,version:$t,versions:Mt,on:Wt,addListener:Vt,once:zt,off:jt,removeListener:Gt,removeAllListeners:Ht,emit:Kt,binding:qt,cwd:Jt,chdir:Xt,umask:Zt,hrtime:er,platform:Ut,release:Yt,config:Ot,uptime:rr},Xe={};Object.keys(Xe).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]=Xe[i]:e=e[n]||(e[n]={})}})});function ot(){Fe=!0;for(var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,e=i.length;t<e;++t)I[t]=i[t],R[i.charCodeAt(t)]=t;R[45]=62,R[95]=63}function nr(i){Fe||ot();var t,e,r,n,s,o,h=i.length;if(h%4>0)throw new Error("Invalid string. Length must be a multiple of 4");s=i[h-2]==="="?2:i[h-1]==="="?1:0,o=new ir(h*3/4-s),r=s>0?h-4:h;var c=0;for(t=0,e=0;t<r;t+=4,e+=3)n=R[i.charCodeAt(t)]<<18|R[i.charCodeAt(t+1)]<<12|R[i.charCodeAt(t+2)]<<6|R[i.charCodeAt(t+3)],o[c++]=n>>16&255,o[c++]=n>>8&255,o[c++]=n&255;return s===2?(n=R[i.charCodeAt(t)]<<2|R[i.charCodeAt(t+1)]>>4,o[c++]=n&255):s===1&&(n=R[i.charCodeAt(t)]<<10|R[i.charCodeAt(t+1)]<<4|R[i.charCodeAt(t+2)]>>2,o[c++]=n>>8&255,o[c++]=n&255),o}function sr(i){return I[i>>18&63]+I[i>>12&63]+I[i>>6&63]+I[i&63]}function or(i,t,e){for(var r,n=[],s=t;s<e;s+=3)r=(i[s]<<16)+(i[s+1]<<8)+i[s+2],n.push(sr(r));return n.join("")}function it(i){Fe||ot();for(var t,e=i.length,r=e%3,n="",s=[],o=16383,h=0,c=e-r;h<c;h+=o)s.push(or(i,h,h+o>c?c:h+o));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+="="),s.push(n),s.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 De(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 De(i,t){if(ft(t),i=U(i,t<0?0:$e(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:$e(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=$e(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 $e(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 s=1,o=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;s=2,o/=2,h/=2,e/=2}function c(g,C){return s===1?g[C]:g.readUInt16BE(C*s)}var d;if(n){var w=-1;for(d=e;d<o;d++)if(c(i,d)===c(t,w===-1?0:d-w)){if(w===-1&&(w=d),d-w+1===h)return w*s}else w!==-1&&(d-=d-w),w=-1}else for(e+h>o&&(e=o-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 s=t.length;if(s%2!==0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o<r;++o){var h=parseInt(t.substr(o*2,2),16);if(isNaN(h))return o;i[e+o]=h}return o}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 s=i[n],o=null,h=s>239?4:s>223?3:s>191?2:1;if(n+h<=e){var c,d,w,m;switch(h){case 1:s<128&&(o=s);break;case 2:c=i[n+1],(c&192)===128&&(m=(s&31)<<6|c&63,m>127&&(o=m));break;case 3:c=i[n+1],d=i[n+2],(c&192)===128&&(d&192)===128&&(m=(s&15)<<12|(c&63)<<6|d&63,m>2047&&(m<55296||m>57343)&&(o=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=(s&15)<<18|(c&63)<<12|(d&63)<<6|w&63,m>65535&&m<1114112&&(o=m))}}o===null?(o=65533,h=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|o&1023),r.push(o),n+=h}return xr(r)}function xr(i){var t=i.length;if(t<=st)return String.fromCharCode.apply(String,i);for(var e="",r=0;r<t;)e+=String.fromCharCode.apply(String,i.slice(r,r+=st));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="",s=t;s<e;++s)n+=Sr(i[s]);return n}function vr(i,t,e){for(var r=i.slice(t,e),n="",s=0;s<r.length;s+=2)n+=String.fromCharCode(r[s]+r[s+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,s){if(!L(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||t<s)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,s=Math.min(i.length-e,2);n<s;++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,s=Math.min(i.length-e,4);n<s;++n)i[e+n]=t>>>(r?n:3-n)*8&255}function pt(i,t,e,r,n,s){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=Rr(i).replace(Ar,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function Rr(i){return i.trim?i.trim():i.replace(/^\s+|\s+$/g,"")}function Sr(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,s=[],o=0;o<r;++o){if(e=i.charCodeAt(o),e>55295&&e<57344){if(!n){if(e>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}n=e;continue}if(e<56320){(t-=3)>-1&&s.push(239,191,189),n=e;continue}e=(n-55296<<10|e-56320)+65536}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,e<128){if((t-=1)<0)break;s.push(e)}else if(e<2048){if((t-=2)<0)break;s.push(e>>6|192,e&63|128)}else if(e<65536){if((t-=3)<0)break;s.push(e>>12|224,e>>6&63|128,e&63|128)}else if(e<1114112){if((t-=4)<0)break;s.push(e>>18|240,e>>12&63|128,e>>6&63|128,e&63|128)}else throw new Error("Invalid code point")}return s}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,s=[],o=0;o<i.length&&!((t-=2)<0);++o)e=i.charCodeAt(o),r=e>>8,n=e%256,s.push(n),s.push(r);return s}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 s,o,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,s=g&(1<<-w)-1,g>>=-w,w+=h;w>0;s=s*256+i[t+m],m+=x,w-=8);for(o=s&(1<<-w)-1,s>>=-w,w+=r;w>0;o=o*256+i[t+m],m+=x,w-=8);if(s===0)s=1-d;else{if(s===c)return o?NaN:(g?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-d}return(g?-1:1)*o*Math.pow(2,s-r)}function xt(i,t,e,r,n,s){var o,h,c,d=s*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:s-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,o=w):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+m>=1?t+=x/c:t+=x*Math.pow(2,1-m),t*c>=2&&(o++,c/=2),o+m>=w?(h=0,o=w):o+m>=1?(h=(t*c-1)*Math.pow(2,n),o=o+m):(h=t*Math.pow(2,m-1)*Math.pow(2,n),o=0));n>=8;i[e+g]=h&255,g+=C,h/=256,n-=8);for(o=o<<n|h,d+=n;d>0;i[e+g]=o&255,g+=C,o/=256,d-=8);i[e+g-C]|=we*128}var I,R,ir,Fe,st,Ar,gt=Ue(()=>{"use strict";l();u();I=[],R=[],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 De(null,i)};a.allocUnsafeSlow=function(i){return De(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,s=0,o=Math.min(r,n);s<o;++s)if(t[s]!==e[s]){r=t[s],n=e[s];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),s=0;for(r=0;r<t.length;++r){var o=t[r];if(!L(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(n,s),s+=o.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,s){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),s===void 0&&(s=this.length),e<0||r>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&e>=r)return 0;if(n>=s)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,s>>>=0,this===t)return 0;for(var o=s-n,h=r-e,c=Math.min(o,h),d=this.slice(n,s),w=t.slice(e,r),m=0;m<c;++m)if(d[m]!==w[m]){o=d[m],h=w[m];break}return o<h?-1:h<o?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 s=this.length-e;if((r===void 0||r>s)&&(r=s),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!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(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}};a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};st=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 s=e-t;n=new a(s,void 0);for(var o=0;o<s;++o)n[o]=this[o+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],s=1,o=0;++o<e&&(s*=256);)n+=this[t+o]*s;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],s=1;e>0&&(s*=256);)n+=this[t+--e]*s;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],s=1,o=0;++o<e&&(s*=256);)n+=this[t+o]*s;return s*=128,n>=s&&(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,s=1,o=this[t+--n];n>0&&(s*=256);)o+=this[t+--n]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*e)),o};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 s=Math.pow(2,8*r)-1;A(this,t,e,r,s,0)}var o=1,h=0;for(this[e]=t&255;++h<r&&(o*=256);)this[e+h]=t/o&255;return e+r};a.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e=e|0,r=r|0,!n){var s=Math.pow(2,8*r)-1;A(this,t,e,r,s,0)}var o=r-1,h=1;for(this[e+o]=t&255;--o>=0&&(h*=256);)this[e+o]=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 s=Math.pow(2,8*r-1);A(this,t,e,r,s-1,-s)}var o=0,h=1,c=0;for(this[e]=t&255;++o<r&&(h*=256);)t<0&&c===0&&this[e+o-1]!==0&&(c=1),this[e+o]=(t/h>>0)-c&255;return e+r};a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=e|0,!n){var s=Math.pow(2,8*r-1);A(this,t,e,r,s-1,-s)}var o=r-1,h=1,c=0;for(this[e+o]=t&255;--o>=0&&(h*=256);)t<0&&c===0&&this[e+o+1]!==0&&(c=1),this[e+o]=(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 s=n-r,o;if(this===t&&r<e&&e<n)for(o=s-1;o>=0;--o)t[o+e]=this[o+r];else if(s<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o<s;++o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+s),e);return s};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 s=t.charCodeAt(0);s<256&&(t=s)}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 o;if(typeof t=="number")for(o=e;o<r;++o)this[o]=t;else{var h=L(t)?t:Te(new a(t,n).toString()),c=h.length;for(o=0;o<r-e;++o)this[o+e]=h[o%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 s of r){let o=this.context.clone(),h=this.createSnippetGenerator(o);try{let c=await h.generateSnippet({endpoint:s,request:t,options:e});if(o.errors.empty())return{snippet:c,errors:void 0};n.update({context:o,snippet:c})}catch(c){n.err==null&&(n.err=c)}}return n.getResponseOrThrow({endpoint:t.endpoint})}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 s of r){let o=this.context.clone(),h=this.createSnippetGenerator(o);try{let c=h.generateSnippetSync({endpoint:s,request:t,options:e});if(o.errors.empty())return{snippet:c,errors:void 0};n.update({context:o,snippet:c})}catch(c){n.err==null&&(n.err=c)}}return n.getResponseOrThrow({endpoint:t.endpoint})}};l();u();var T={Critical:"CRITICAL",Warning:"WARNING"},se=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 oe=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 se,this.httpEndpointReferenceParser=new oe}associateQueryParametersByWireValue({parameters:t,values:e}){let r=[];for(let[n,s]of Object.entries(e)){this.errors.scope(n);try{let o=t.find(c=>c.name.wireValue===n);if(o==null)throw this.newParameterNotRecognizedError(n);let h=this.isListTypeReference(o.typeReference)&&!Array.isArray(s)?[s]:s;r.push({name:o.name,typeReference:o.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 s=e[n.name.wireValue];if(s==null)if(n.typeReference.type==="primitive"&&n.typeReference.value==="STRING")s=`<${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:s})}finally{this.errors.unscope()}}return r}associateByWireValue({parameters:t,values:e,ignoreMissingParameters:r}){let n=[];for(let[s,o]of Object.entries(e)){this.errors.scope(s);try{let h=t.find(c=>c.name.wireValue===s);if(h==null){if(r)continue;this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(s).message});continue}n.push({name:h.name,typeReference:h.typeReference,value:o})}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 s of t){let o=r[s.name.wireValue];o==null?s.typeReference.type==="nullable"&&n.push({name:s.name,typeReference:s.typeReference,value:null}):n.push({name:s.name,typeReference:s.typeReference,value:o})}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 s of r){if(typeof s!="string"){this.errors.add({severity:T.Critical,message:`Expected file array value to be an array of strings, got ${typeof s}`});return}n.push(s)}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,s=r[n];if(s==null){this.errors.add({severity:T.Critical,message:this.newParameterNotRecognizedError(n).message});return}if(typeof s!="string"){this.errors.add({severity:T.Critical,message:`Expected discriminant value to be a string but got: ${typeof s}`});return}let o=t.types[s];if(o==null){this.errors.add({severity:T.Critical,message:`No type found for discriminant value "${s}"`});return}let d=r,{[n]:h}=d,c=Je(d,[qe(n)]);return{singleDiscriminatedUnionType:o,discriminantValue:o.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 s of ie(t))n.has(s)&&n.delete(s);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:()=>q,KeywordArgument:()=>J,KeywordParameter:()=>X,Method:()=>M,MethodInvocation:()=>Z,MethodKind:()=>$,Module_:()=>Y,Parameter:()=>v,Type:()=>D,TypeLiteral:()=>de,TypeParameter:()=>Q,Writer:()=>S,begin:()=>Xr,classReference:()=>jr,class_:()=>Yr,codeblock:()=>Ce,comment:()=>Vr,falseValue:()=>Dr,ifElse:()=>Jr,instantiateClass:()=>Gr,invokeMethod:()=>Kr,keywordArgument:()=>Hr,method:()=>Wr,module:()=>Or,nilValue:()=>$r,parameters:()=>Mr,positionalArgument:()=>qr,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 Se({maxFrames:i=50,skip:t=0,filterPaths:e=[],filterFunctions:r=[],stopOn:n=[],filterNode:s=!0,filterJs:o=!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(St=>x==null?void 0:x.includes(St))){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))&&!(s&&((m=w.path)!=null&&m.startsWith("node:")))&&!(o&&((x=w.path)!=null&&x.endsWith(".js")))&&!e.some(g=>w.path.includes(g))}).slice(t,t+i)}var Re=class{constructor({maxFrames:t=50,skip:e=0,filterPaths:r=[],filterFunctions:n=[],stopOn:s=[],filterNode:o=!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=s,this.filterNode=o,this.filterJs=h,this.multiline=c,this.formatFilename=d}tag(t){let e=this.tracking.get(t)||new Set;Se({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:s=!0,filterJs:o=!0,multiline:h=!1,formatFilename:c=d=>d}={}){P&&(_!=null||(_=new Re({maxFrames:i,skip:t,filterPaths:e,filterFunctions:r,stopOn:n,filterNode:s,filterJs:o,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,s=this.getIndentString(),o=n.replaceAll(`
|
|
8
|
+
`,`
|
|
9
|
+
${s}`);this.isAtStartOfLine()&&(o=s+o),r&&(o+=`
|
|
10
|
+
`),this.writeInternal(o)}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 s=1;s<t.length;s++){this.write(e);let o=t[s];o!=null&&r(o)}}}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(Se({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,S=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 S{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 D=class i extends y{constructor(e){super();f(this,"internalType");this.internalType=e}write(e){var r,n,s;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&&((s=(n=this.internalType.elems[1])==null?void 0:n.internalType)==null?void 0:s.type)==="nil"){let o=this.internalType.elems[0];o!=null&&o.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 $={Instance:"instance",Class_:"class"},kt={Public:"public",Private:"private",Protected:"protected"},M=class extends y{constructor({name:e,docstring:r,kind:n,visibility:s,parameters:o,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:$.Instance,this.visibility=s!=null?s:kt.Public,this.positionalParameters=(w=o==null?void 0:o.positional)!=null?w:[],this.keywordParameters=(m=o==null?void 0:o.keyword)!=null?m:[],this.positionalSplatParameter=o==null?void 0:o.positionalSplat,this.keywordSplatParameter=o==null?void 0:o.keywordSplat,this.yieldParameter=o==null?void 0:o.yield,this.returnType=h!=null?h:D.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 s=new S({customConfig:e.customConfig});n.type.writeTypeDefinition(s),e.write(this.normalizeForYard(s.toString())),e.write("]"),e.newLine()}for(let n of this.keywordParameters){e.write(`# @param ${n.name} [`);let s=new S({customConfig:e.customConfig});n.type.writeTypeDefinition(s),e.write(this.normalizeForYard(s.toString())),e.write("]"),n.docs&&e.write(` ${n.docs}`),e.newLine()}if(this.keywordSplatParameter!=null){e.write(`# @param ${this.keywordSplatParameter.name} [`);let n=new S({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 S({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===$.Class_&&e.write("_class_method"),e.write(" ")),this.kind){case $.Instance:e.write(`def ${this.name}`);break;case $.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,s)=>{n.write(e),s<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:s,statements:o}){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=s,this.statements=o!=null?o:[],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:s,statements:o}){super({name:e,docstring:s,typeParameters:n});f(this,"superclass");f(this,"statements");f(this,"methods",[]);this.superclass=r,this.statements=o!=null?o:[]}addStatement(e){this.statements.push(e)}addStatements(e){this.statements.push(...e)}addInstanceMethod(e,r,n){let s=new M({name:e,kind:$.Instance,returnType:r,statements:n});this.addMethod(s)}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 q=class extends y{constructor(e){super();f(this,"arg");this.arg=e}write(e){return new b(this.arg).write(e)}};l();u();var J=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:s}){super();f(this,"name");f(this,"type");f(this,"optional");f(this,"docs");this.name=e,this.type=r!=null?r:D.untyped(),this.optional=n!=null?n:!1,this.docs=s}};var X=class extends v{constructor({name:e,type:r,initializer:n,optional:s}){super({name:e,type:r,optional:s});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:s,block:o}){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=s,this.block=o}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,s)=>{s>0&&(e.write(","),e.newLine()),Rt(e,n)}),e.newLine(),e.dedent()):r.forEach((n,s)=>{s>0&&e.write(", "),Rt(e,n)}),e.write(")"),this.block){let[n,s]=this.block;e.write(" do"),n.length>0&&(e.write(" |"),n.forEach((o,h)=>{h>0&&e.write(", "),e.write(o)}),e.write("|")),e.newLine(),e.indent();for(let o of s)o.write(e),e.writeNewLineIfLastLineNot();e.dedent(),e.write("end")}}};function Rt(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:s}){super({name:e,type:r,optional:n});f(this,"initializer");this.initializer=s}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,s)=>{s>0&&e.writeLine(","),e.indent();let o=!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}:`),o=!0)}o||(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,s)=>{s>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,s)=>{s>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:s,defaultType:o}){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=s!=null?s:Ne.Invariant,this.defaultType=o}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:s}of this.rescues)e.write("rescue"),r&&(e.write(" "),r.write(e)),n&&(e.write(" => "),e.write(n)),e.writeLine(),s&&(e.indent(),s.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 q(i)}function Fr(){return Ce("true")}function Dr(){return Ce("false")}function $r(){return Ce("nil")}var Mr={positional(i){return new ce(i)},keyword(i){return new X(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 J(i)}function Kr(i){return new Z(i)}function qr(i){return new he(i)}function Jr(i){return new Le(i)}function Xr(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-RKBBW5DU.js.map
|