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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/cjs/Config.cjs.map +1 -1
  2. package/cjs/DynamicSnippetsGenerator.cjs +18 -9
  3. package/cjs/DynamicSnippetsGenerator.cjs.map +1 -1
  4. package/cjs/DynamicSnippetsGenerator.d.cts +1 -1
  5. package/cjs/{DynamicSnippetsGeneratorContext-FbVOZ8Go.d.cts → DynamicSnippetsGeneratorContext-DGzYoCz3.d.cts} +11 -1
  6. package/cjs/EndpointSnippetGenerator.cjs +14 -11
  7. package/cjs/EndpointSnippetGenerator.cjs.map +1 -1
  8. package/cjs/EndpointSnippetGenerator.d.cts +1 -1
  9. package/cjs/context/DynamicSnippetsGeneratorContext.cjs +18 -9
  10. package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -1
  11. package/cjs/context/DynamicSnippetsGeneratorContext.d.cts +1 -1
  12. package/cjs/context/DynamicTypeLiteralMapper.cjs +18 -9
  13. package/cjs/context/DynamicTypeLiteralMapper.cjs.map +1 -1
  14. package/cjs/context/DynamicTypeLiteralMapper.d.cts +1 -1
  15. package/cjs/context/DynamicTypeMapper.cjs +12 -9
  16. package/cjs/context/DynamicTypeMapper.cjs.map +1 -1
  17. package/cjs/context/DynamicTypeMapper.d.cts +1 -1
  18. package/cjs/context/FilePropertyMapper.cjs +14 -11
  19. package/cjs/context/FilePropertyMapper.cjs.map +1 -1
  20. package/cjs/context/FilePropertyMapper.d.cts +1 -1
  21. package/cjs/index.cjs +20 -23
  22. package/cjs/index.cjs.map +1 -1
  23. package/cjs/index.d.cts +1 -1
  24. package/esm/Config.js +1 -1
  25. package/esm/DynamicSnippetsGenerator.d.ts +1 -1
  26. package/esm/DynamicSnippetsGenerator.js +1 -1
  27. package/esm/{DynamicSnippetsGeneratorContext-FbVOZ8Go.d.ts → DynamicSnippetsGeneratorContext-DGzYoCz3.d.ts} +11 -1
  28. package/esm/EndpointSnippetGenerator.d.ts +1 -1
  29. package/esm/EndpointSnippetGenerator.js +1 -1
  30. package/esm/chunk-2U3YQWRZ.js +12 -0
  31. package/esm/chunk-2U3YQWRZ.js.map +1 -0
  32. package/esm/chunk-3X524Y2I.js +23 -0
  33. package/esm/chunk-3X524Y2I.js.map +1 -0
  34. package/esm/chunk-5CTXVUPZ.js +8 -0
  35. package/esm/chunk-5CTXVUPZ.js.map +1 -0
  36. package/esm/{chunk-3LOINSB3.js → chunk-EOZMORS3.js} +2 -2
  37. package/esm/chunk-JFD4YVTW.js +15 -0
  38. package/esm/chunk-JFD4YVTW.js.map +1 -0
  39. package/esm/chunk-KQE3JYZ2.js +2 -0
  40. package/esm/chunk-KQE3JYZ2.js.map +1 -0
  41. package/esm/chunk-N3AIOPEV.js +2 -0
  42. package/esm/chunk-PBNDQMXA.js +2 -0
  43. package/esm/{chunk-PUPEW5QI.js.map → chunk-PBNDQMXA.js.map} +1 -1
  44. package/esm/{chunk-6YM2QG7U.js → chunk-QH22Z5KY.js} +2 -2
  45. package/esm/{chunk-JZBCQWQN.js → chunk-VYJE6STI.js} +2 -2
  46. package/esm/context/DynamicSnippetsGeneratorContext.d.ts +1 -1
  47. package/esm/context/DynamicSnippetsGeneratorContext.js +1 -1
  48. package/esm/context/DynamicTypeLiteralMapper.d.ts +1 -1
  49. package/esm/context/DynamicTypeLiteralMapper.js +1 -1
  50. package/esm/context/DynamicTypeMapper.d.ts +1 -1
  51. package/esm/context/DynamicTypeMapper.js +1 -1
  52. package/esm/context/FilePropertyMapper.d.ts +1 -1
  53. package/esm/context/FilePropertyMapper.js +1 -1
  54. package/esm/index.d.ts +1 -1
  55. package/esm/index.js +1 -13
  56. package/esm/index.js.map +1 -1
  57. package/package.json +1 -1
  58. package/esm/chunk-3JSOCWNQ.js +0 -20
  59. package/esm/chunk-3JSOCWNQ.js.map +0 -1
  60. package/esm/chunk-E6GFFTKW.js +0 -12
  61. package/esm/chunk-E6GFFTKW.js.map +0 -1
  62. package/esm/chunk-JZ2FDMYI.js +0 -15
  63. package/esm/chunk-JZ2FDMYI.js.map +0 -1
  64. package/esm/chunk-PUPEW5QI.js +0 -2
  65. package/esm/chunk-SQKACQJK.js +0 -2
  66. package/esm/chunk-SQKACQJK.js.map +0 -1
  67. package/esm/chunk-WBGWLNLI.js +0 -2
  68. package/esm/chunk-ZYVZJBJN.js +0 -2
  69. package/esm/chunk-ZYVZJBJN.js.map +0 -1
  70. /package/esm/{chunk-3LOINSB3.js.map → chunk-EOZMORS3.js.map} +0 -0
  71. /package/esm/{chunk-WBGWLNLI.js.map → chunk-N3AIOPEV.js.map} +0 -0
  72. /package/esm/{chunk-6YM2QG7U.js.map → chunk-QH22Z5KY.js.map} +0 -0
  73. /package/esm/{chunk-JZBCQWQN.js.map → chunk-VYJE6STI.js.map} +0 -0
@@ -0,0 +1,8 @@
1
+ import{b as c}from"./chunk-EOZMORS3.js";import{a as l,d as n}from"./chunk-3X524Y2I.js";import{f as d,h as y,i as m}from"./chunk-2U3YQWRZ.js";y();m();var v=class{constructor({context:e}){d(this,"context");this.context=e}isNopTypeLiteral(e){var i;return((i=e.internalType)==null?void 0:i.type)==="nop"}wrapInOptionalIfNotNop(e,t=!1){return this.isNopTypeLiteral(e)?e:n.TypeLiteral.optional({value:e,useOf:t})}convert(e){if(e.value===null)return this.context.isNullable(e.typeReference)?this.context.getNullableOfNull():(this.context.errors.add({severity:c.Critical,message:"Expected non-null value, but got null"}),n.TypeLiteral.nop());if(e.value===void 0)return n.TypeLiteral.nop();switch(e.typeReference.type){case"list":return this.convertList({list:e.typeReference.value,value:e.value,as:e.as});case"literal":return this.convertLiteral({literal:e.typeReference.value,value:e.value});case"map":return this.convertMap({map:e.typeReference,value:e.value,as:e.as});case"named":{let t=this.context.resolveNamedType({typeId:e.typeReference.value});return t==null?n.TypeLiteral.nop():this.convertNamed({named:t,value:e.value,as:e.as,inUndiscriminatedUnion:e.inUndiscriminatedUnion})}case"nullable":case"optional":{if(e.value===void 0||typeof e.value=="object"&&e.value!==null&&Object.keys(e.value).length===0&&e.typeReference.value.type==="named")return n.TypeLiteral.reference(n.invokeMethod({on:n.classReference({name:"Optional",packageName:"java.util"}),method:"empty",arguments_:[]}));if(e.typeReference.value.type==="list"){let r=this.convertList({list:e.typeReference.value.value,value:e.value});return this.wrapInOptionalIfNotNop(r,!0)}let t=this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as,inUndiscriminatedUnion:e.inUndiscriminatedUnion}),i=e.as==="mapValue"||e.inUndiscriminatedUnion===!0;return this.wrapInOptionalIfNotNop(t,i)}case"primitive":return this.convertPrimitive({primitive:e.typeReference.value,value:e.value,as:e.as});case"set":return this.convertSet({set:e.typeReference.value,value:e.value,as:e.as});case"unknown":return this.convertUnknown({value:e.value});default:l(e.typeReference)}}convertList({list:e,value:t,as:i}){if(!Array.isArray(t))return this.context.errors.add({severity:c.Critical,message:`Expected array but got: ${typeof t}`}),n.TypeLiteral.nop();let r=e.type==="optional"||e.type==="nullable";return n.TypeLiteral.list({valueType:this.context.dynamicTypeMapper.convert({typeReference:e}),values:t.map((a,o)=>{this.context.errors.scope({index:o});try{if(r){let s=this.convert({typeReference:e.value,value:a,as:i});return this.wrapInOptionalIfNotNop(s,!0)}return this.convert({typeReference:e,value:a,as:i})}finally{this.context.errors.unscope()}}),isParameter:!0})}convertLiteral({literal:e,value:t}){switch(e.type){case"boolean":{let i=this.context.getValueAsBoolean({value:t});return i==null?n.TypeLiteral.nop():n.TypeLiteral.boolean(i)}case"string":{let i=this.context.getValueAsString({value:t});return i==null?n.TypeLiteral.nop():n.TypeLiteral.string(i)}default:l(e)}}convertSet({set:e,value:t,as:i}){return Array.isArray(t)?n.TypeLiteral.set({valueType:this.context.dynamicTypeMapper.convert({typeReference:e}),values:t.map((r,a)=>{this.context.errors.scope({index:a});try{return this.convert({typeReference:e,value:r,as:i})}finally{this.context.errors.unscope()}})}):(this.context.errors.add({severity:c.Critical,message:`Expected array but got: ${typeof t}`}),n.TypeLiteral.nop())}convertMap({map:e,value:t,as:i}){return typeof t!="object"||t==null?(this.context.errors.add({severity:c.Critical,message:`Expected object but got: ${t==null?"null":typeof t}`}),n.TypeLiteral.nop()):n.TypeLiteral.map({keyType:this.context.dynamicTypeMapper.convert({typeReference:e.key}),valueType:this.context.dynamicTypeMapper.convert({typeReference:e.value}),entries:Object.entries(t).map(([r,a])=>{this.context.errors.scope(r);try{return{key:this.convert({typeReference:e.key,value:r,as:"mapKey"}),value:this.convert({typeReference:e.value,value:a,as:"mapValue"})}}finally{this.context.errors.unscope()}})})}convertNamed({named:e,value:t,as:i,inUndiscriminatedUnion:r}){switch(e.type){case"alias":return this.convert({typeReference:e.typeReference,value:t,as:i,inUndiscriminatedUnion:r});case"discriminatedUnion":return this.convertDiscriminatedUnion({discriminatedUnion:e,value:t});case"enum":return this.convertEnum({enum_:e,value:t});case"object":return this.convertObject({object_:e,value:t,as:i});case"undiscriminatedUnion":return this.convertUndiscriminatedUnion({undiscriminatedUnion:e,value:t});default:l(e)}}convertDiscriminatedUnion({discriminatedUnion:e,value:t}){let i=this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),r=this.context.resolveDiscriminatedUnionTypeInstance({discriminatedUnion:e,value:t});if(r==null)return n.TypeLiteral.nop();let a=r.singleDiscriminatedUnionType;switch(a.type){case"samePropertiesAsObject":{let o=this.context.resolveNamedType({typeId:a.typeId});return o==null?n.TypeLiteral.nop():n.TypeLiteral.reference(n.invokeMethod({on:i,method:this.context.getPropertyName(a.discriminantValue.name),arguments_:[this.convertNamed({named:o,value:r.value})]}))}case"singleProperty":{let o=this.context.getRecord(r.value);if(o==null)return n.TypeLiteral.nop();try{return this.context.errors.scope(a.discriminantValue.wireValue),n.TypeLiteral.reference(n.invokeMethod({on:i,method:this.context.getPropertyName(a.discriminantValue.name),arguments_:[this.convert({typeReference:a.typeReference,value:o[a.discriminantValue.wireValue]})]}))}finally{this.context.errors.unscope()}}case"noProperties":return n.TypeLiteral.reference(n.invokeMethod({on:i,method:this.context.getPropertyName(a.discriminantValue.name),arguments_:[]}));default:l(a)}}convertObject({object_:e,value:t,as:i}){var o;let r=this.context.associateByWireValue({parameters:e.properties,values:(o=this.context.getRecord(t))!=null?o:{}}),a=i==="request"?r.filter(s=>!this.context.isDirectLiteral(s.typeReference)):r;return n.TypeLiteral.builder({classReference:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),parameters:a.map(s=>{this.context.errors.scope(s.name.wireValue);try{return{name:this.context.getMethodName(s.name.name),value:this.convert({typeReference:s.typeReference,value:s.value,as:i})}}finally{this.context.errors.unscope()}})})}convertEnum({enum_:e,value:t}){let i=this.getEnumValueName({enum_:e,value:t});return i==null?n.TypeLiteral.nop():n.TypeLiteral.enum_({classReference:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),value:i})}getEnumValueName({enum_:e,value:t}){if(typeof t!="string"){this.context.errors.add({severity:c.Critical,message:`Expected enum value string, got: ${typeof t}`});return}let i=e.values.find(r=>r.wireValue===t);if(i==null){this.context.errors.add({severity:c.Critical,message:`An enum value named "${t}" does not exist in this context`});return}return this.context.getEnumName(i.name)}convertUndiscriminatedUnion({undiscriminatedUnion:e,value:t}){let i=this.findMatchingUndiscriminatedUnionType({undiscriminatedUnion:e,value:t});return i==null?n.TypeLiteral.nop():this.context.isPrimitive(i.valueTypeReference)?n.TypeLiteral.reference(n.invokeMethod({on:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),method:"of",arguments_:[i.typeInstantiation]})):n.TypeLiteral.reference(n.invokeMethod({on:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),method:"of",arguments_:[i.typeInstantiation]}))}findMatchingUndiscriminatedUnionType({undiscriminatedUnion:e,value:t}){var s;let i=[],r=[];for(let p of e.types)try{i.push(JSON.stringify(p));let u=this.convert({typeReference:p,value:t,inUndiscriminatedUnion:!0});return{valueTypeReference:p,typeInstantiation:u}}catch(u){r.push(`Type ${JSON.stringify(p)}: ${u instanceof Error?u.message:String(u)}`);continue}this.context.errors.add({severity:c.Critical,message:`None of the types in the undiscriminated union matched the given "${typeof t}" value. Tried ${i.length} variants. Errors: ${r.join("; ")}`});let a=(s=e.declaration.name)!=null?s:"UnknownUnion",o=r.map((p,u)=>` ${u+1}. ${p}`).join(`
2
+ `);throw new Error(`Failed to match undiscriminated union "${a}" for ${typeof t} value.
3
+ Value: ${JSON.stringify(t)}
4
+ Attempted ${i.length} variants:
5
+ ${o}
6
+
7
+ This prevents invalid snippet code generation that would cause formatter errors.`)}getUndiscriminatedUnionFieldName({typeReference:e}){switch(e.type){case"list":return this.getUndiscriminatedUnionFieldNameForList({list:e});case"literal":return this.getUndiscriminatedUnionFieldNameForLiteral({literal:e.value});case"map":return this.getUndiscriminatedUnionFieldNameForMap({map:e});case"named":{let t=this.context.resolveNamedType({typeId:e.value});return t==null?void 0:this.context.getClassName(t.declaration.name)}case"optional":return this.getUndiscriminatedUnionFieldNameForOptional({typeReference:e});case"nullable":return this.getUndiscriminatedUnionFieldNameForNullable({typeReference:e});case"primitive":return this.getUndiscriminatedUnionFieldNameForPrimitive({primitive:e.value});case"set":return this.getUndiscriminatedUnionFieldNameForSet({set:e});case"unknown":return"Unknown";default:l(e)}}getUndiscriminatedUnionFieldNameForList({list:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`ListOf${t}`}getUndiscriminatedUnionFieldNameForMap({map:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e.key});if(t==null)return;let i=this.getUndiscriminatedUnionFieldName({typeReference:e.value});if(i!=null)return`MapOf${t}To${i}`}getUndiscriminatedUnionFieldNameForOptional({typeReference:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`Optional${t}`}getUndiscriminatedUnionFieldNameForNullable({typeReference:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`Nullable${t}`}getUndiscriminatedUnionFieldNameForSet({set:e}){let t=this.getUndiscriminatedUnionFieldName({typeReference:e});if(t!=null)return`SetOf${t}`}getUndiscriminatedUnionFieldNameForLiteral({literal:e}){}getUndiscriminatedUnionFieldNameForPrimitive({primitive:e}){switch(e){case"INTEGER":case"UINT":return"Integer";case"LONG":case"UINT_64":return"Long";case"FLOAT":return"Float";case"DOUBLE":return"Double";case"BOOLEAN":return"Boolean";case"BIG_INTEGER":return"BigInteger";case"STRING":return"String";case"UUID":return"Uuid";case"DATE":return"Date";case"DATE_TIME":return"DateTime";case"BASE_64":return"Base64";default:l(e)}}convertUnknown({value:e}){return n.TypeLiteral.unknown(e)}convertPrimitive({primitive:e,value:t,as:i}){switch(e){case"INTEGER":case"UINT":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.integer(r)}case"LONG":case"UINT_64":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.long(r)}case"FLOAT":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.float(r)}case"DOUBLE":{let r=this.getValueAsNumber({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.double(r)}case"BOOLEAN":{let r=this.getValueAsBoolean({value:t,as:i});return r==null?n.TypeLiteral.nop():n.TypeLiteral.boolean(r)}case"STRING":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.string(r)}case"DATE":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.string(r)}case"DATE_TIME":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.dateTime(r)}case"UUID":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.uuid(r)}case"BASE_64":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.bytes(r)}case"BIG_INTEGER":{let r=this.context.getValueAsString({value:t});return r==null?n.TypeLiteral.nop():n.TypeLiteral.bigInteger(r)}default:l(e)}}getValueAsNumber({value:e,as:t}){let i=t==="mapKey"&&typeof e=="string"?Number(e):e;return this.context.getValueAsNumber({value:i})}getValueAsBoolean({value:e,as:t}){let i=t==="mapKey"?typeof e=="string"?e==="true":e==="false"?!1:e:e;return this.context.getValueAsBoolean({value:i})}};export{v as a};
8
+ //# sourceMappingURL=chunk-5CTXVUPZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/context/DynamicTypeLiteralMapper.ts"],"sourcesContent":["import { Severity } from \"@fern-api/browser-compatible-base-generator\";\nimport { assertNever } from \"@fern-api/core-utils\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { java } from \"@fern-api/java-ast\";\n\nimport { DynamicSnippetsGeneratorContext } from \"./DynamicSnippetsGeneratorContext\";\n\nexport declare namespace DynamicTypeLiteralMapper {\n interface Args {\n typeReference: FernIr.dynamic.TypeReference;\n value: unknown;\n as?: ConvertedAs;\n inUndiscriminatedUnion?: boolean;\n }\n\n // Identifies what the type is being converted as, which sometimes influences how\n // the type is instantiated.\n type ConvertedAs = \"mapKey\" | \"mapValue\" | \"request\";\n}\n\nexport class DynamicTypeLiteralMapper {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n this.context = context;\n }\n\n private isNopTypeLiteral(value: java.TypeLiteral): boolean {\n const valueWithInternal = value as unknown as { internalType?: { type?: string } };\n return valueWithInternal.internalType?.type === \"nop\";\n }\n\n private wrapInOptionalIfNotNop(value: java.TypeLiteral, useOf: boolean = false): java.TypeLiteral {\n if (this.isNopTypeLiteral(value)) {\n return value;\n }\n return java.TypeLiteral.optional({ value, useOf });\n }\n\n public convert(args: DynamicTypeLiteralMapper.Args): java.TypeLiteral {\n // eslint-disable-next-line eqeqeq\n if (args.value === null) {\n if (this.context.isNullable(args.typeReference)) {\n return this.context.getNullableOfNull();\n }\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"Expected non-null value, but got null\"\n });\n return java.TypeLiteral.nop();\n }\n if (args.value === undefined) {\n return java.TypeLiteral.nop();\n }\n switch (args.typeReference.type) {\n case \"list\":\n return this.convertList({ list: args.typeReference.value, value: args.value, as: args.as });\n case \"literal\":\n return this.convertLiteral({ literal: args.typeReference.value, value: args.value });\n case \"map\":\n return this.convertMap({ map: args.typeReference, value: args.value, as: args.as });\n case \"named\": {\n const named = this.context.resolveNamedType({ typeId: args.typeReference.value });\n if (named == null) {\n return java.TypeLiteral.nop();\n }\n return this.convertNamed({\n named,\n value: args.value,\n as: args.as,\n inUndiscriminatedUnion: args.inUndiscriminatedUnion\n });\n }\n case \"nullable\":\n case \"optional\": {\n if (\n args.value === undefined ||\n (typeof args.value === \"object\" &&\n args.value !== null &&\n Object.keys(args.value).length === 0 &&\n args.typeReference.value.type === \"named\")\n ) {\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: java.classReference({\n name: \"Optional\",\n packageName: \"java.util\"\n }),\n method: \"empty\",\n arguments_: []\n })\n );\n }\n\n if (args.typeReference.value.type === \"list\") {\n const listLiteral = this.convertList({ list: args.typeReference.value.value, value: args.value });\n return this.wrapInOptionalIfNotNop(listLiteral, true);\n }\n const convertedValue = this.convert({\n typeReference: args.typeReference.value,\n value: args.value,\n as: args.as,\n inUndiscriminatedUnion: args.inUndiscriminatedUnion\n });\n // TODO(amckinney): The Java generator produces Map<T, Optional<U>> whenever the value is an optional.\n //\n // This is difficult to use in practice - we should update this to unbox the map values and remove this\n // flag.\n // When in an undiscriminated union, we always use Optional.of() for optional types\n const useOf = args.as === \"mapValue\" || args.inUndiscriminatedUnion === true;\n return this.wrapInOptionalIfNotNop(convertedValue, useOf);\n }\n case \"primitive\":\n return this.convertPrimitive({ primitive: args.typeReference.value, value: args.value, as: args.as });\n case \"set\":\n return this.convertSet({ set: args.typeReference.value, value: args.value, as: args.as });\n case \"unknown\":\n return this.convertUnknown({ value: args.value });\n default:\n assertNever(args.typeReference);\n }\n }\n\n private convertList({\n list,\n value,\n as\n }: {\n list: FernIr.dynamic.TypeReference;\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): java.TypeLiteral {\n if (!Array.isArray(value)) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected array but got: ${typeof value}`\n });\n return java.TypeLiteral.nop();\n }\n\n const isItemOptional = list.type === \"optional\" || list.type === \"nullable\";\n\n return java.TypeLiteral.list({\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: list }),\n values: value.map((v, index) => {\n this.context.errors.scope({ index });\n try {\n if (isItemOptional) {\n const itemValue = this.convert({ typeReference: list.value, value: v, as });\n return this.wrapInOptionalIfNotNop(itemValue, true);\n }\n return this.convert({ typeReference: list, value: v, as });\n } finally {\n this.context.errors.unscope();\n }\n }),\n isParameter: true // For dynamic snippets, we're generating method parameters\n });\n }\n\n private convertLiteral({\n literal,\n value\n }: {\n literal: FernIr.dynamic.LiteralType;\n value: unknown;\n }): java.TypeLiteral {\n switch (literal.type) {\n case \"boolean\": {\n const bool = this.context.getValueAsBoolean({ value });\n if (bool == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.boolean(bool);\n }\n case \"string\": {\n const str = this.context.getValueAsString({ value });\n if (str == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.string(str);\n }\n default:\n assertNever(literal);\n }\n }\n\n private convertSet({\n set,\n value,\n as\n }: {\n set: FernIr.dynamic.TypeReference;\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): java.TypeLiteral {\n if (!Array.isArray(value)) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected array but got: ${typeof value}`\n });\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.set({\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: set }),\n values: value.map((v, index) => {\n this.context.errors.scope({ index });\n try {\n return this.convert({ typeReference: set, value: v, as });\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertMap({\n map,\n value,\n as\n }: {\n map: FernIr.dynamic.MapType;\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): java.TypeLiteral {\n if (typeof value !== \"object\" || value == null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected object but got: ${value == null ? \"null\" : typeof value}`\n });\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.map({\n keyType: this.context.dynamicTypeMapper.convert({ typeReference: map.key }),\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: map.value }),\n entries: Object.entries(value).map(([key, value]) => {\n this.context.errors.scope(key);\n try {\n return {\n key: this.convert({ typeReference: map.key, value: key, as: \"mapKey\" }),\n value: this.convert({\n typeReference: map.value,\n value,\n as: \"mapValue\"\n })\n };\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertNamed({\n named,\n value,\n as,\n inUndiscriminatedUnion\n }: {\n named: FernIr.dynamic.NamedType;\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n inUndiscriminatedUnion?: boolean;\n }): java.TypeLiteral {\n switch (named.type) {\n case \"alias\":\n return this.convert({ typeReference: named.typeReference, value, as, inUndiscriminatedUnion });\n case \"discriminatedUnion\":\n return this.convertDiscriminatedUnion({\n discriminatedUnion: named,\n value\n });\n case \"enum\":\n return this.convertEnum({ enum_: named, value });\n case \"object\":\n return this.convertObject({ object_: named, value, as });\n case \"undiscriminatedUnion\":\n // Don't pass inUndiscriminatedUnion here - we're AT the undiscriminated union level,\n // not within it. The flag should only apply to the variants within the union.\n return this.convertUndiscriminatedUnion({ undiscriminatedUnion: named, value });\n default:\n assertNever(named);\n }\n }\n\n private convertDiscriminatedUnion({\n discriminatedUnion,\n value\n }: {\n discriminatedUnion: FernIr.dynamic.DiscriminatedUnionType;\n value: unknown;\n }): java.TypeLiteral {\n const classReference = this.context.getJavaClassReferenceFromDeclaration({\n declaration: discriminatedUnion.declaration\n });\n const discriminatedUnionTypeInstance = this.context.resolveDiscriminatedUnionTypeInstance({\n discriminatedUnion,\n value\n });\n if (discriminatedUnionTypeInstance == null) {\n return java.TypeLiteral.nop();\n }\n const unionVariant = discriminatedUnionTypeInstance.singleDiscriminatedUnionType;\n switch (unionVariant.type) {\n case \"samePropertiesAsObject\": {\n const named = this.context.resolveNamedType({\n typeId: unionVariant.typeId\n });\n if (named == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: classReference,\n method: this.context.getPropertyName(unionVariant.discriminantValue.name),\n arguments_: [this.convertNamed({ named, value: discriminatedUnionTypeInstance.value })]\n })\n );\n }\n case \"singleProperty\": {\n const record = this.context.getRecord(discriminatedUnionTypeInstance.value);\n if (record == null) {\n return java.TypeLiteral.nop();\n }\n try {\n this.context.errors.scope(unionVariant.discriminantValue.wireValue);\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: classReference,\n method: this.context.getPropertyName(unionVariant.discriminantValue.name),\n arguments_: [\n this.convert({\n typeReference: unionVariant.typeReference,\n value: record[unionVariant.discriminantValue.wireValue]\n })\n ]\n })\n );\n } finally {\n this.context.errors.unscope();\n }\n }\n case \"noProperties\":\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: classReference,\n method: this.context.getPropertyName(unionVariant.discriminantValue.name),\n arguments_: []\n })\n );\n default:\n assertNever(unionVariant);\n }\n }\n\n private convertObject({\n object_,\n value,\n as\n }: {\n object_: FernIr.dynamic.ObjectType;\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): java.TypeLiteral {\n const properties = this.context.associateByWireValue({\n parameters: object_.properties,\n values: this.context.getRecord(value) ?? {}\n });\n const filteredProperties =\n as === \"request\"\n ? properties.filter((property) => !this.context.isDirectLiteral(property.typeReference))\n : properties;\n return java.TypeLiteral.builder({\n classReference: this.context.getJavaClassReferenceFromDeclaration({\n declaration: object_.declaration\n }),\n parameters: filteredProperties.map((property) => {\n this.context.errors.scope(property.name.wireValue);\n try {\n return {\n name: this.context.getMethodName(property.name.name),\n value: this.convert({ typeReference: property.typeReference, value: property.value, as })\n };\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertEnum({ enum_, value }: { enum_: FernIr.dynamic.EnumType; value: unknown }): java.TypeLiteral {\n const name = this.getEnumValueName({ enum_, value });\n if (name == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.enum_({\n classReference: this.context.getJavaClassReferenceFromDeclaration({\n declaration: enum_.declaration\n }),\n value: name\n });\n }\n\n private getEnumValueName({ enum_, value }: { enum_: FernIr.dynamic.EnumType; value: unknown }): string | undefined {\n if (typeof value !== \"string\") {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected enum value string, got: ${typeof value}`\n });\n return undefined;\n }\n const enumValue = enum_.values.find((v) => v.wireValue === value);\n if (enumValue == null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `An enum value named \"${value}\" does not exist in this context`\n });\n return undefined;\n }\n return this.context.getEnumName(enumValue.name);\n }\n\n private convertUndiscriminatedUnion({\n undiscriminatedUnion,\n value\n }: {\n undiscriminatedUnion: FernIr.dynamic.UndiscriminatedUnionType;\n value: unknown;\n }): java.TypeLiteral {\n const result = this.findMatchingUndiscriminatedUnionType({\n undiscriminatedUnion,\n value\n });\n if (result == null) {\n return java.TypeLiteral.nop();\n }\n if (this.context.isPrimitive(result.valueTypeReference)) {\n // Primitive types overload the 'of' method rather than\n // defining a separate method from the type.\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: this.context.getJavaClassReferenceFromDeclaration({\n declaration: undiscriminatedUnion.declaration\n }),\n method: \"of\",\n arguments_: [result.typeInstantiation]\n })\n );\n }\n // Use simple 'of' method name for consistency across all union factory methods\n // This matches the Java SDK's generated code pattern\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: this.context.getJavaClassReferenceFromDeclaration({\n declaration: undiscriminatedUnion.declaration\n }),\n method: \"of\",\n arguments_: [result.typeInstantiation]\n })\n );\n }\n\n private findMatchingUndiscriminatedUnionType({\n undiscriminatedUnion,\n value\n }: {\n undiscriminatedUnion: FernIr.dynamic.UndiscriminatedUnionType;\n value: unknown;\n }): { valueTypeReference: FernIr.dynamic.TypeReference; typeInstantiation: java.TypeLiteral } | undefined {\n const attemptedVariants: string[] = [];\n const variantErrors: string[] = [];\n\n for (const typeReference of undiscriminatedUnion.types) {\n try {\n attemptedVariants.push(JSON.stringify(typeReference));\n const typeInstantiation = this.convert({\n typeReference,\n value,\n inUndiscriminatedUnion: true\n });\n\n return { valueTypeReference: typeReference, typeInstantiation };\n } catch (e) {\n variantErrors.push(\n `Type ${JSON.stringify(typeReference)}: ${e instanceof Error ? e.message : String(e)}`\n );\n continue;\n }\n }\n\n this.context.errors.add({\n severity: Severity.Critical,\n message: `None of the types in the undiscriminated union matched the given \"${typeof value}\" value. Tried ${attemptedVariants.length} variants. Errors: ${variantErrors.join(\"; \")}`\n });\n\n // Instead of returning undefined (which causes invalid code generation),\n // throw an error to fail fast with a clear message\n const unionName = undiscriminatedUnion.declaration.name ?? \"UnknownUnion\";\n const detailedErrors = variantErrors.map((error, index) => ` ${index + 1}. ${error}`).join(\"\\n\");\n throw new Error(\n `Failed to match undiscriminated union \"${unionName}\" for ${typeof value} value.\\n` +\n `Value: ${JSON.stringify(value)}\\n` +\n `Attempted ${attemptedVariants.length} variants:\\n${detailedErrors}\\n\\n` +\n `This prevents invalid snippet code generation that would cause formatter errors.`\n );\n }\n\n private getUndiscriminatedUnionFieldName({\n typeReference\n }: {\n typeReference: FernIr.dynamic.TypeReference;\n }): string | undefined {\n switch (typeReference.type) {\n case \"list\":\n return this.getUndiscriminatedUnionFieldNameForList({ list: typeReference });\n case \"literal\":\n return this.getUndiscriminatedUnionFieldNameForLiteral({ literal: typeReference.value });\n case \"map\":\n return this.getUndiscriminatedUnionFieldNameForMap({ map: typeReference });\n case \"named\": {\n const named = this.context.resolveNamedType({ typeId: typeReference.value });\n if (named == null) {\n return undefined;\n }\n return this.context.getClassName(named.declaration.name);\n }\n case \"optional\":\n return this.getUndiscriminatedUnionFieldNameForOptional({ typeReference });\n case \"nullable\":\n return this.getUndiscriminatedUnionFieldNameForNullable({ typeReference });\n case \"primitive\":\n return this.getUndiscriminatedUnionFieldNameForPrimitive({ primitive: typeReference.value });\n case \"set\":\n return this.getUndiscriminatedUnionFieldNameForSet({ set: typeReference });\n case \"unknown\":\n return \"Unknown\";\n default:\n assertNever(typeReference);\n }\n }\n\n private getUndiscriminatedUnionFieldNameForList({\n list\n }: {\n list: FernIr.dynamic.TypeReference.List;\n }): string | undefined {\n const fieldName = this.getUndiscriminatedUnionFieldName({ typeReference: list });\n if (fieldName == null) {\n return undefined;\n }\n return `ListOf${fieldName}`;\n }\n\n private getUndiscriminatedUnionFieldNameForMap({ map }: { map: FernIr.dynamic.MapType }): string | undefined {\n const keyFieldName = this.getUndiscriminatedUnionFieldName({ typeReference: map.key });\n if (keyFieldName == null) {\n return undefined;\n }\n const valueFieldName = this.getUndiscriminatedUnionFieldName({ typeReference: map.value });\n if (valueFieldName == null) {\n return undefined;\n }\n return `MapOf${keyFieldName}To${valueFieldName}`;\n }\n\n private getUndiscriminatedUnionFieldNameForOptional({\n typeReference\n }: {\n typeReference: FernIr.dynamic.TypeReference.Optional | FernIr.dynamic.TypeReference.Nullable;\n }): string | undefined {\n const fieldName = this.getUndiscriminatedUnionFieldName({ typeReference });\n if (fieldName == null) {\n return undefined;\n }\n return `Optional${fieldName}`;\n }\n\n private getUndiscriminatedUnionFieldNameForNullable({\n typeReference\n }: {\n typeReference: FernIr.dynamic.TypeReference.Optional | FernIr.dynamic.TypeReference.Nullable;\n }): string | undefined {\n const fieldName = this.getUndiscriminatedUnionFieldName({ typeReference });\n if (fieldName == null) {\n return undefined;\n }\n return `Nullable${fieldName}`;\n }\n\n private getUndiscriminatedUnionFieldNameForSet({\n set\n }: {\n set: FernIr.dynamic.TypeReference.Set;\n }): string | undefined {\n const fieldName = this.getUndiscriminatedUnionFieldName({ typeReference: set });\n if (fieldName == null) {\n return undefined;\n }\n return `SetOf${fieldName}`;\n }\n\n private getUndiscriminatedUnionFieldNameForLiteral({\n literal: _literal\n }: {\n literal: FernIr.dynamic.LiteralType;\n }): string | undefined {\n // The Java SDK doesn't support literal types here.\n return undefined;\n }\n\n private getUndiscriminatedUnionFieldNameForPrimitive({\n primitive\n }: {\n primitive: FernIr.dynamic.PrimitiveTypeV1;\n }): string {\n switch (primitive) {\n case \"INTEGER\":\n case \"UINT\":\n return \"Integer\";\n case \"LONG\":\n case \"UINT_64\":\n return \"Long\";\n case \"FLOAT\":\n return \"Float\";\n case \"DOUBLE\":\n return \"Double\";\n case \"BOOLEAN\":\n return \"Boolean\";\n case \"BIG_INTEGER\":\n return \"BigInteger\";\n case \"STRING\":\n return \"String\";\n case \"UUID\":\n return \"Uuid\";\n case \"DATE\":\n return \"Date\";\n case \"DATE_TIME\":\n return \"DateTime\";\n case \"BASE_64\":\n return \"Base64\";\n default:\n assertNever(primitive);\n }\n }\n\n private convertUnknown({ value }: { value: unknown }): java.TypeLiteral {\n return java.TypeLiteral.unknown(value);\n }\n\n private convertPrimitive({\n primitive,\n value,\n as\n }: {\n primitive: FernIr.dynamic.PrimitiveTypeV1;\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): java.TypeLiteral {\n switch (primitive) {\n case \"INTEGER\":\n case \"UINT\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.integer(num);\n }\n case \"LONG\":\n case \"UINT_64\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.long(num);\n }\n case \"FLOAT\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.float(num);\n }\n case \"DOUBLE\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.double(num);\n }\n case \"BOOLEAN\": {\n const bool = this.getValueAsBoolean({ value, as });\n if (bool == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.boolean(bool);\n }\n case \"STRING\": {\n const str = this.context.getValueAsString({ value });\n if (str == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.string(str);\n }\n case \"DATE\": {\n const date = this.context.getValueAsString({ value });\n if (date == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.string(date);\n }\n case \"DATE_TIME\": {\n const dateTime = this.context.getValueAsString({ value });\n if (dateTime == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.dateTime(dateTime);\n }\n case \"UUID\": {\n const uuid = this.context.getValueAsString({ value });\n if (uuid == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.uuid(uuid);\n }\n case \"BASE_64\": {\n const base64 = this.context.getValueAsString({ value });\n if (base64 == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.bytes(base64);\n }\n case \"BIG_INTEGER\": {\n const bigInt = this.context.getValueAsString({ value });\n if (bigInt == null) {\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.bigInteger(bigInt);\n }\n default:\n assertNever(primitive);\n }\n }\n\n private getValueAsNumber({\n value,\n as\n }: {\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): number | undefined {\n const num = as === \"mapKey\" ? (typeof value === \"string\" ? Number(value) : value) : value;\n return this.context.getValueAsNumber({ value: num });\n }\n\n private getValueAsBoolean({\n value,\n as\n }: {\n value: unknown;\n as?: DynamicTypeLiteralMapper.ConvertedAs;\n }): boolean | undefined {\n const bool =\n as === \"mapKey\"\n ? typeof value === \"string\"\n ? value === \"true\"\n : value === \"false\"\n ? false\n : value\n : value;\n return this.context.getValueAsBoolean({ value: bool });\n }\n}\n"],"mappings":"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","names":["init_process","init_buffer","DynamicTypeLiteralMapper","context","__publicField","value","_a","useOf","java_exports","args","Severity","named","listLiteral","convertedValue","assertNever","list","as","isItemOptional","v","index","itemValue","literal","bool","str","set","map","key","inUndiscriminatedUnion","discriminatedUnion","classReference","discriminatedUnionTypeInstance","unionVariant","record","object_","properties","filteredProperties","property","enum_","name","enumValue","undiscriminatedUnion","result","attemptedVariants","variantErrors","typeReference","typeInstantiation","e","unionName","detailedErrors","error","fieldName","keyFieldName","valueFieldName","_literal","primitive","num","date","dateTime","uuid","base64","bigInt"]}
@@ -1,2 +1,2 @@
1
- import{a as m,b as R}from"./chunk-3JSOCWNQ.js";import{a as T,b as S,c as b,d as A,j as l,l as a,n as p}from"./chunk-E6GFFTKW.js";a();p();a();p();var y=class{constructor(){l(this,"reporter");l(this,"snippet");l(this,"err");this.snippet=void 0,this.reporter=void 0,this.err=void 0}update({context:e,snippet:r}){this.shouldUpdate({snippet:r,reporter:e.errors})&&(this.reporter=e.errors.clone(),this.snippet=r)}getResponseOrThrow({endpoint:e}){var r;if(this.snippet!=null&&this.reporter!=null)return{snippet:this.snippet,errors:this.reporter.toDynamicSnippetErrors()};throw(r=this.err)!=null?r:new Error(`Failed to generate snippet for endpoint "${e.method} ${e.path}"`)}shouldUpdate({snippet:e,reporter:r}){var t,n;return this.reporter==null||this.reporter.size()>0&&r.size()===0?!0:e.length>((n=(t=this.snippet)==null?void 0:t.length)!=null?n:0)}};var E=class{constructor(e){l(this,"context");this.context=e}async generate(e,r={}){let t=this.context.resolveEndpointLocationOrThrow(e.endpoint);if(t.length===0)throw new Error(`No endpoints found that match "${e.endpoint.method} ${e.endpoint.path}"`);let n=new y;for(let i of t){let s=this.context.clone(),d=this.createSnippetGenerator(s);try{let u=await d.generateSnippet({endpoint:i,request:e,options:r});if(s.errors.empty())return{snippet:u,errors:void 0};n.update({context:s,snippet:u})}catch(u){n.err==null&&(n.err=u)}}return n.getResponseOrThrow({endpoint:e.endpoint})}generateSync(e,r={}){let t=this.context.resolveEndpointLocationOrThrow(e.endpoint);if(t.length===0)throw new Error(`No endpoints found that match "${e.endpoint.method} ${e.endpoint.path}"`);let n=new y;for(let i of t){let s=this.context.clone(),d=this.createSnippetGenerator(s);try{let u=d.generateSnippetSync({endpoint:i,request:e,options:r});if(s.errors.empty())return{snippet:u,errors:void 0};n.update({context:s,snippet:u})}catch(u){n.err==null&&(n.err=u)}}return n.getResponseOrThrow({endpoint:e.endpoint})}};a();p();var o={Critical:"CRITICAL",Warning:"WARNING"},v=class c{constructor(){l(this,"errors");l(this,"path");this.errors=[],this.path=[]}add(e){this.errors.push(S(T({},e),{path:[...this.path]}))}scope(e){this.path.push(e)}unscope(){this.path.pop()}getBySeverity(e){return this.errors.filter(r=>r.severity===e)}empty(){return this.errors.length===0}size(){return this.errors.length}clone(){let e=new c;return e.errors=[...this.errors],e.path=[...this.path],e}reset(){this.errors=[],this.path=[]}toDynamicSnippetErrors(){return this.errors.map(e=>({severity:e.severity,path:e.path!=null?this.pathToStringArray(e.path):void 0,message:e.message}))}pathToStringArray(e){let r=[];for(let t of e){if(typeof t=="string"){r.push(t);continue}r[r.length-1]+=`[${t.index}]`}return r}};a();p();a();p();a();p();var g=class{constructor(){l(this,"REFERENCE_REGEX",/^(GET|POST|PUT|DELETE|PATCH|HEAD)\s(\/\S*)$/)}validate(e){return this.REFERENCE_REGEX.test(e)?{type:"valid"}:{type:"invalid"}}tryParse(e){if(this.validate(e).type==="invalid")return;let t=e.match(this.REFERENCE_REGEX);if(!(t==null||t[1]==null||t[2]==null))return{method:t[1],path:t[2]}}};var w=class{constructor({ir:e,config:r,options:t={}}){l(this,"config");l(this,"options");l(this,"errors");l(this,"_ir");l(this,"httpEndpointReferenceParser");this._ir=e,this.config=r,this.options=t,this.errors=new v,this.httpEndpointReferenceParser=new g}associateQueryParametersByWireValue({parameters:e,values:r}){let t=[];for(let[n,i]of Object.entries(r)){this.errors.scope(n);try{let s=e.find(u=>u.name.wireValue===n);if(s==null)throw this.newParameterNotRecognizedError(n);let d=this.isListTypeReference(s.typeReference)&&!Array.isArray(i)?[i]:i;t.push({name:s.name,typeReference:s.typeReference,value:d})}finally{this.errors.unscope()}}return t}associateByWireValueOrDefault({parameters:e,values:r}){let t=[];for(let n of e){this.errors.scope(n.name.wireValue);try{let i=r[n.name.wireValue];if(i==null)if(n.typeReference.type==="primitive"&&n.typeReference.value==="STRING")i=`<${n.name.wireValue}>`;else{this.errors.add({severity:o.Critical,message:this.newParameterNotRecognizedError(n.name.wireValue).message});continue}t.push({name:n.name,typeReference:n.typeReference,value:i})}finally{this.errors.unscope()}}return t}associateByWireValue({parameters:e,values:r,ignoreMissingParameters:t}){let n=[];for(let[i,s]of Object.entries(r)){this.errors.scope(i);try{let d=e.find(u=>u.name.wireValue===i);if(d==null){if(t)continue;this.errors.add({severity:o.Critical,message:this.newParameterNotRecognizedError(i).message});continue}n.push({name:d.name,typeReference:d.typeReference,value:s})}finally{this.errors.unscope()}}return n}getExampleObjectProperties({parameters:e,snippetObject:r}){let t=typeof r=="object"&&r!==null&&!Array.isArray(r)?r:{},n=[];for(let i of e){let s=t[i.name.wireValue];s==null?i.typeReference.type==="nullable"&&n.push({name:i.name,typeReference:i.typeReference,value:null}):n.push({name:i.name,typeReference:i.typeReference,value:s})}return n}getSingleFileValue({property:e,record:r}){let t=r[e.wireValue];if(t!=null){if(typeof t!="string"){this.errors.add({severity:o.Critical,message:`Expected file value to be a string, got ${typeof t}`});return}return t}}getFileArrayValues({property:e,record:r}){let t=r[e.wireValue];if(t==null)return;if(!Array.isArray(t)){this.errors.add({severity:o.Critical,message:`Expected file array value to be an array of strings, got ${typeof t}`});return}let n=[];for(let i of t){if(typeof i!="string"){this.errors.add({severity:o.Critical,message:`Expected file array value to be an array of strings, got ${typeof i}`});return}n.push(i)}return n}getRecord(e){if(typeof e!="object"||Array.isArray(e)){this.errors.add({severity:o.Critical,message:`Expected object with key, value pairs but got: ${Array.isArray(e)?"array":typeof e}`});return}return e==null?{}:e}resolveNamedType({typeId:e}){let r=this._ir.types[e];if(r==null){this.errors.add({severity:o.Critical,message:`Type identified by "${e}" could not be found`});return}return r}resolveDiscriminatedUnionTypeInstance({discriminatedUnion:e,value:r}){let t=this.getRecord(r);if(t==null)return;let n=e.discriminant.wireValue,i=t[n];if(i==null){this.errors.add({severity:o.Critical,message:this.newParameterNotRecognizedError(n).message});return}if(typeof i!="string"){this.errors.add({severity:o.Critical,message:`Expected discriminant value to be a string but got: ${typeof i}`});return}let s=e.types[i];if(s==null){this.errors.add({severity:o.Critical,message:`No type found for discriminant value "${i}"`});return}let P=t,{[n]:d}=P,u=A(P,[b(n)]);return{singleDiscriminatedUnionType:s,discriminantValue:s.discriminantValue,value:u}}resolveEndpointOrThrow(e){let r=this.httpEndpointReferenceParser.tryParse(e);if(r==null)throw new Error(`Failed to parse endpoint reference "${e}"`);return this.resolveEndpointLocationOrThrow(r)}resolveEndpointLocation(e){let r=[];for(let t of Object.values(this._ir.endpoints))this.parsedEndpointMatches({endpoint:t,parsedEndpoint:e})&&r.push(t);return r}resolveEndpointLocationOrThrow(e){let r=this.resolveEndpointLocation(e);if(r.length===0)throw new Error(`Failed to find endpoint identified by "${e.method} ${e.path}"`);return r}needsRequestParameter({request:e,inlinePathParameters:r,inlineFileProperties:t}){var n;return this.includePathParametersInWrappedRequest({request:e,inlinePathParameters:r})||e.queryParameters!=null&&e.queryParameters.length>0||e.headers!=null&&e.headers.length>0?!0:e.body!=null?this.includeRequestBodyInWrappedRequest({body:e.body,inlineFileProperties:t}):!((n=e.metadata)!=null&&n.onlyPathParameters)}includePathParametersInWrappedRequest({request:e,inlinePathParameters:r}){var t,n;return r&&((n=(t=e.metadata)==null?void 0:t.includePathParameters)!=null?n:!1)}isFileUploadRequestBody(e){switch(e.type){case"fileUpload":return!0;case"properties":case"referenced":return!1;default:m(e)}}resolveEnvironmentName(e){if(this._ir.environments==null)return;let r=this._ir.environments.environments;switch(r.type){case"singleBaseUrl":{let t=r.environments.find(n=>n.id===e);return t==null?void 0:t.name}case"multipleBaseUrls":{let t=r.environments.find(n=>n.id===e);return t==null?void 0:t.name}default:m(r)}}isSingleEnvironmentID(e){return typeof e=="string"}isMultiEnvironmentValues(e){return typeof e=="object"}validateMultiEnvironmentUrlValues(e){if(this._ir.environments==null)return this.errors.add({severity:o.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;let r=this._ir.environments.environments;switch(r.type){case"singleBaseUrl":return this.errors.add({severity:o.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;case"multipleBaseUrls":{let t=r.environments[0];if(t==null)return this.errors.add({severity:o.Critical,message:"Multiple environments are not supported; use the baseUrl option instead"}),!1;let n=new Set(R(t.urls));for(let i of R(e))n.has(i)&&n.delete(i);return n.size>0?(this.errors.add({severity:o.Critical,message:`The provided environments are invalid; got: [${Object.keys(e).join(", ")}], expected: [${R(t.urls).join(", ")}]`}),!1):!0}}}getValueAsNumber({value:e}){if(typeof e!="number"){this.errors.add({severity:o.Critical,message:this.newTypeMismatchError({expected:"number",value:e}).message});return}return e}getValueAsBoolean({value:e}){if(typeof e!="boolean"){this.errors.add({severity:o.Critical,message:this.newTypeMismatchError({expected:"boolean",value:e}).message});return}return e}getValueAsString({value:e}){if(typeof e!="string"){this.errors.add({severity:o.Critical,message:this.newTypeMismatchError({expected:"string",value:e}).message});return}return e}isOptional(e){switch(e.type){case"nullable":return this.isOptional(e.value);case"optional":return!0;case"named":{let r=this.resolveNamedType({typeId:e.value});return r==null?!1:r.type==="alias"?this.isNullable(r.typeReference):!1}}return!1}isNullable(e){switch(e.type){case"nullable":return!0;case"optional":return this.isNullable(e.value);case"named":{let r=this.resolveNamedType({typeId:e.value});return r==null?!1:r.type==="alias"?this.isNullable(r.typeReference):!1}}return!1}newAuthMismatchError({auth:e,values:r}){return new Error(`Expected auth type ${e.type}, got ${r.type}`)}newParameterNotRecognizedError(e){return new Error(`"${e}" is not a recognized parameter for this endpoint`)}newTypeMismatchError({expected:e,value:r}){return new Error(`Expected ${e}, got ${typeof r}`)}includeRequestBodyInWrappedRequest({body:e,inlineFileProperties:r}){switch(e.type){case"properties":case"referenced":return!0;case"fileUpload":return this.includeFileUploadBodyInWrappedRequest({fileUpload:e,inlineFileProperties:r});default:m(e)}}includeFileUploadBodyInWrappedRequest({fileUpload:e,inlineFileProperties:r}){return this.fileUploadHasBodyProperties({fileUpload:e})||r&&this.fileUploadHasFileProperties({fileUpload:e})}fileUploadHasBodyProperties({fileUpload:e}){return e.properties.some(r=>{switch(r.type){case"file":case"fileArray":return!1;case"bodyProperty":return!0;default:m(r)}})}fileUploadHasFileProperties({fileUpload:e}){return e.properties.some(r=>{switch(r.type){case"file":case"fileArray":return!0;case"bodyProperty":return!1;default:m(r)}})}isListTypeReference(e){return e.type==="optional"?this.isListTypeReference(e.value):e.type==="list"||e.type==="set"}parsedEndpointMatches({endpoint:e,parsedEndpoint:r}){return e.location.method===r.method&&e.location.path===r.path}};a();p();var x;(function(c){c.Concise="concise",c.Full="full"})(x||(x={}));a();p();var C={PathParameters:"pathParameters",QueryParameters:"queryParameters",Headers:"headers",RequestBody:"requestBody"};a();p();export{E as a,o as b,w as c,x as d,C as e};
2
- //# sourceMappingURL=chunk-3LOINSB3.js.map
1
+ import{a as m,b as R}from"./chunk-3X524Y2I.js";import{a as T,b as S,c as b,d as A,f as l,h as a,i as p}from"./chunk-2U3YQWRZ.js";a();p();a();p();var y=class{constructor(){l(this,"reporter");l(this,"snippet");l(this,"err");this.snippet=void 0,this.reporter=void 0,this.err=void 0}update({context:e,snippet:r}){this.shouldUpdate({snippet:r,reporter:e.errors})&&(this.reporter=e.errors.clone(),this.snippet=r)}getResponseOrThrow({endpoint:e}){var r;if(this.snippet!=null&&this.reporter!=null)return{snippet:this.snippet,errors:this.reporter.toDynamicSnippetErrors()};throw(r=this.err)!=null?r:new Error(`Failed to generate snippet for endpoint "${e.method} ${e.path}"`)}shouldUpdate({snippet:e,reporter:r}){var t,n;return this.reporter==null||this.reporter.size()>0&&r.size()===0?!0:e.length>((n=(t=this.snippet)==null?void 0:t.length)!=null?n:0)}};var E=class{constructor(e){l(this,"context");this.context=e}async generate(e,r={}){let t=this.context.resolveEndpointLocationOrThrow(e.endpoint);if(t.length===0)throw new Error(`No endpoints found that match "${e.endpoint.method} ${e.endpoint.path}"`);let n=new y;for(let i of t){let s=this.context.clone(),d=this.createSnippetGenerator(s);try{let u=await d.generateSnippet({endpoint:i,request:e,options:r});if(s.errors.empty())return{snippet:u,errors:void 0};n.update({context:s,snippet:u})}catch(u){n.err==null&&(n.err=u)}}return n.getResponseOrThrow({endpoint:e.endpoint})}generateSync(e,r={}){let t=this.context.resolveEndpointLocationOrThrow(e.endpoint);if(t.length===0)throw new Error(`No endpoints found that match "${e.endpoint.method} ${e.endpoint.path}"`);let n=new y;for(let i of t){let s=this.context.clone(),d=this.createSnippetGenerator(s);try{let u=d.generateSnippetSync({endpoint:i,request:e,options:r});if(s.errors.empty())return{snippet:u,errors:void 0};n.update({context:s,snippet:u})}catch(u){n.err==null&&(n.err=u)}}return n.getResponseOrThrow({endpoint:e.endpoint})}};a();p();var o={Critical:"CRITICAL",Warning:"WARNING"},v=class c{constructor(){l(this,"errors");l(this,"path");this.errors=[],this.path=[]}add(e){this.errors.push(S(T({},e),{path:[...this.path]}))}scope(e){this.path.push(e)}unscope(){this.path.pop()}getBySeverity(e){return this.errors.filter(r=>r.severity===e)}empty(){return this.errors.length===0}size(){return this.errors.length}clone(){let e=new c;return e.errors=[...this.errors],e.path=[...this.path],e}reset(){this.errors=[],this.path=[]}toDynamicSnippetErrors(){return this.errors.map(e=>({severity:e.severity,path:e.path!=null?this.pathToStringArray(e.path):void 0,message:e.message}))}pathToStringArray(e){let r=[];for(let t of e){if(typeof t=="string"){r.push(t);continue}r[r.length-1]+=`[${t.index}]`}return r}};a();p();a();p();a();p();var g=class{constructor(){l(this,"REFERENCE_REGEX",/^(GET|POST|PUT|DELETE|PATCH|HEAD)\s(\/\S*)$/)}validate(e){return this.REFERENCE_REGEX.test(e)?{type:"valid"}:{type:"invalid"}}tryParse(e){if(this.validate(e).type==="invalid")return;let t=e.match(this.REFERENCE_REGEX);if(!(t==null||t[1]==null||t[2]==null))return{method:t[1],path:t[2]}}};var w=class{constructor({ir:e,config:r,options:t={}}){l(this,"config");l(this,"options");l(this,"errors");l(this,"_ir");l(this,"httpEndpointReferenceParser");this._ir=e,this.config=r,this.options=t,this.errors=new v,this.httpEndpointReferenceParser=new g}associateQueryParametersByWireValue({parameters:e,values:r}){let t=[];for(let[n,i]of Object.entries(r)){this.errors.scope(n);try{let s=e.find(u=>u.name.wireValue===n);if(s==null)throw this.newParameterNotRecognizedError(n);let d=this.isListTypeReference(s.typeReference)&&!Array.isArray(i)?[i]:i;t.push({name:s.name,typeReference:s.typeReference,value:d})}finally{this.errors.unscope()}}return t}associateByWireValueOrDefault({parameters:e,values:r}){let t=[];for(let n of e){this.errors.scope(n.name.wireValue);try{let i=r[n.name.wireValue];if(i==null)if(n.typeReference.type==="primitive"&&n.typeReference.value==="STRING")i=`<${n.name.wireValue}>`;else{this.errors.add({severity:o.Critical,message:this.newParameterNotRecognizedError(n.name.wireValue).message});continue}t.push({name:n.name,typeReference:n.typeReference,value:i})}finally{this.errors.unscope()}}return t}associateByWireValue({parameters:e,values:r,ignoreMissingParameters:t}){let n=[];for(let[i,s]of Object.entries(r)){this.errors.scope(i);try{let d=e.find(u=>u.name.wireValue===i);if(d==null){if(t)continue;this.errors.add({severity:o.Critical,message:this.newParameterNotRecognizedError(i).message});continue}n.push({name:d.name,typeReference:d.typeReference,value:s})}finally{this.errors.unscope()}}return n}getExampleObjectProperties({parameters:e,snippetObject:r}){let t=typeof r=="object"&&r!==null&&!Array.isArray(r)?r:{},n=[];for(let i of e){let s=t[i.name.wireValue];s==null?i.typeReference.type==="nullable"&&n.push({name:i.name,typeReference:i.typeReference,value:null}):n.push({name:i.name,typeReference:i.typeReference,value:s})}return n}getSingleFileValue({property:e,record:r}){let t=r[e.wireValue];if(t!=null){if(typeof t!="string"){this.errors.add({severity:o.Critical,message:`Expected file value to be a string, got ${typeof t}`});return}return t}}getFileArrayValues({property:e,record:r}){let t=r[e.wireValue];if(t==null)return;if(!Array.isArray(t)){this.errors.add({severity:o.Critical,message:`Expected file array value to be an array of strings, got ${typeof t}`});return}let n=[];for(let i of t){if(typeof i!="string"){this.errors.add({severity:o.Critical,message:`Expected file array value to be an array of strings, got ${typeof i}`});return}n.push(i)}return n}getRecord(e){if(typeof e!="object"||Array.isArray(e)){this.errors.add({severity:o.Critical,message:`Expected object with key, value pairs but got: ${Array.isArray(e)?"array":typeof e}`});return}return e==null?{}:e}resolveNamedType({typeId:e}){let r=this._ir.types[e];if(r==null){this.errors.add({severity:o.Critical,message:`Type identified by "${e}" could not be found`});return}return r}resolveDiscriminatedUnionTypeInstance({discriminatedUnion:e,value:r}){let t=this.getRecord(r);if(t==null)return;let n=e.discriminant.wireValue,i=t[n];if(i==null){this.errors.add({severity:o.Critical,message:this.newParameterNotRecognizedError(n).message});return}if(typeof i!="string"){this.errors.add({severity:o.Critical,message:`Expected discriminant value to be a string but got: ${typeof i}`});return}let s=e.types[i];if(s==null){this.errors.add({severity:o.Critical,message:`No type found for discriminant value "${i}"`});return}let P=t,{[n]:d}=P,u=A(P,[b(n)]);return{singleDiscriminatedUnionType:s,discriminantValue:s.discriminantValue,value:u}}resolveEndpointOrThrow(e){let r=this.httpEndpointReferenceParser.tryParse(e);if(r==null)throw new Error(`Failed to parse endpoint reference "${e}"`);return this.resolveEndpointLocationOrThrow(r)}resolveEndpointLocation(e){let r=[];for(let t of Object.values(this._ir.endpoints))this.parsedEndpointMatches({endpoint:t,parsedEndpoint:e})&&r.push(t);return r}resolveEndpointLocationOrThrow(e){let r=this.resolveEndpointLocation(e);if(r.length===0)throw new Error(`Failed to find endpoint identified by "${e.method} ${e.path}"`);return r}needsRequestParameter({request:e,inlinePathParameters:r,inlineFileProperties:t}){var n;return this.includePathParametersInWrappedRequest({request:e,inlinePathParameters:r})||e.queryParameters!=null&&e.queryParameters.length>0||e.headers!=null&&e.headers.length>0?!0:e.body!=null?this.includeRequestBodyInWrappedRequest({body:e.body,inlineFileProperties:t}):!((n=e.metadata)!=null&&n.onlyPathParameters)}includePathParametersInWrappedRequest({request:e,inlinePathParameters:r}){var t,n;return r&&((n=(t=e.metadata)==null?void 0:t.includePathParameters)!=null?n:!1)}isFileUploadRequestBody(e){switch(e.type){case"fileUpload":return!0;case"properties":case"referenced":return!1;default:m(e)}}resolveEnvironmentName(e){if(this._ir.environments==null)return;let r=this._ir.environments.environments;switch(r.type){case"singleBaseUrl":{let t=r.environments.find(n=>n.id===e);return t==null?void 0:t.name}case"multipleBaseUrls":{let t=r.environments.find(n=>n.id===e);return t==null?void 0:t.name}default:m(r)}}isSingleEnvironmentID(e){return typeof e=="string"}isMultiEnvironmentValues(e){return typeof e=="object"}validateMultiEnvironmentUrlValues(e){if(this._ir.environments==null)return this.errors.add({severity:o.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;let r=this._ir.environments.environments;switch(r.type){case"singleBaseUrl":return this.errors.add({severity:o.Critical,message:"Multiple environments are not supported for single base URL environments; use the baseUrl option instead"}),!1;case"multipleBaseUrls":{let t=r.environments[0];if(t==null)return this.errors.add({severity:o.Critical,message:"Multiple environments are not supported; use the baseUrl option instead"}),!1;let n=new Set(R(t.urls));for(let i of R(e))n.has(i)&&n.delete(i);return n.size>0?(this.errors.add({severity:o.Critical,message:`The provided environments are invalid; got: [${Object.keys(e).join(", ")}], expected: [${R(t.urls).join(", ")}]`}),!1):!0}}}getValueAsNumber({value:e}){if(typeof e!="number"){this.errors.add({severity:o.Critical,message:this.newTypeMismatchError({expected:"number",value:e}).message});return}return e}getValueAsBoolean({value:e}){if(typeof e!="boolean"){this.errors.add({severity:o.Critical,message:this.newTypeMismatchError({expected:"boolean",value:e}).message});return}return e}getValueAsString({value:e}){if(typeof e!="string"){this.errors.add({severity:o.Critical,message:this.newTypeMismatchError({expected:"string",value:e}).message});return}return e}isOptional(e){switch(e.type){case"nullable":return this.isOptional(e.value);case"optional":return!0;case"named":{let r=this.resolveNamedType({typeId:e.value});return r==null?!1:r.type==="alias"?this.isNullable(r.typeReference):!1}}return!1}isNullable(e){switch(e.type){case"nullable":return!0;case"optional":return this.isNullable(e.value);case"named":{let r=this.resolveNamedType({typeId:e.value});return r==null?!1:r.type==="alias"?this.isNullable(r.typeReference):!1}}return!1}newAuthMismatchError({auth:e,values:r}){return new Error(`Expected auth type ${e.type}, got ${r.type}`)}newParameterNotRecognizedError(e){return new Error(`"${e}" is not a recognized parameter for this endpoint`)}newTypeMismatchError({expected:e,value:r}){return new Error(`Expected ${e}, got ${typeof r}`)}includeRequestBodyInWrappedRequest({body:e,inlineFileProperties:r}){switch(e.type){case"properties":case"referenced":return!0;case"fileUpload":return this.includeFileUploadBodyInWrappedRequest({fileUpload:e,inlineFileProperties:r});default:m(e)}}includeFileUploadBodyInWrappedRequest({fileUpload:e,inlineFileProperties:r}){return this.fileUploadHasBodyProperties({fileUpload:e})||r&&this.fileUploadHasFileProperties({fileUpload:e})}fileUploadHasBodyProperties({fileUpload:e}){return e.properties.some(r=>{switch(r.type){case"file":case"fileArray":return!1;case"bodyProperty":return!0;default:m(r)}})}fileUploadHasFileProperties({fileUpload:e}){return e.properties.some(r=>{switch(r.type){case"file":case"fileArray":return!0;case"bodyProperty":return!1;default:m(r)}})}isListTypeReference(e){return e.type==="optional"?this.isListTypeReference(e.value):e.type==="list"||e.type==="set"}parsedEndpointMatches({endpoint:e,parsedEndpoint:r}){return e.location.method===r.method&&e.location.path===r.path}};a();p();var x;(function(c){c.Concise="concise",c.Full="full"})(x||(x={}));a();p();var C={PathParameters:"pathParameters",QueryParameters:"queryParameters",Headers:"headers",RequestBody:"requestBody"};a();p();export{E as a,o as b,w as c,x as d,C as e};
2
+ //# sourceMappingURL=chunk-EOZMORS3.js.map
@@ -0,0 +1,15 @@
1
+ import{a as I}from"./chunk-5CTXVUPZ.js";import{c as T}from"./chunk-EOZMORS3.js";import{a as P}from"./chunk-PBNDQMXA.js";import{a as O}from"./chunk-VYJE6STI.js";import{a as y,c as A,d as p}from"./chunk-3X524Y2I.js";import{f as x,h as t,i as a}from"./chunk-2U3YQWRZ.js";t();a();t();a();t();a();t();a();t();a();t();a();t();a();var we=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis,j=we;var Le=typeof self=="object"&&self&&self.Object===Object&&self,Ee=j||Le||Function("return this")(),F=Ee;var Me=F.Symbol,l=Me;t();a();var w=Object.prototype,We=w.hasOwnProperty,Ue=w.toString,g=l?l.toStringTag:void 0;function Be(r){var s=We.call(r,g),e=r[g];try{r[g]=void 0;var o=!0}catch(i){}var f=Ue.call(r);return o&&(s?r[g]=e:delete r[g]),f}var L=Be;t();a();var ze=Object.prototype,De=ze.toString;function Ve(r){return De.call(r)}var E=Ve;var qe="[object Null]",Ze="[object Undefined]",M=l?l.toStringTag:void 0;function Ge(r){return r==null?r===void 0?Ze:qe:M&&M in Object(r)?L(r):E(r)}var W=Ge;t();a();function Je(r){return r!=null&&typeof r=="object"}var U=Je;var He="[object Symbol]";function Ke(r){return typeof r=="symbol"||U(r)&&W(r)==He}var B=Ke;t();a();t();a();function _e(r,s){for(var e=-1,o=r==null?0:r.length,f=Array(o);++e<o;)f[e]=s(r[e],e,r);return f}var z=_e;t();a();var Ye=Array.isArray,D=Ye;var $e=1/0,V=l?l.prototype:void 0,q=V?V.toString:void 0;function Z(r){if(typeof r=="string")return r;if(D(r))return z(r,Z)+"";if(B(r))return q?q.call(r):"";var s=r+"";return s=="0"&&1/r==-$e?"-0":s}var G=Z;t();a();function Qe(r){return r==null?"":G(r)}var m=Qe;t();a();t();a();t();a();t();a();t();a();t();a();function Xe(r,s,e){var o=-1,f=r.length;s<0&&(s=-s>f?0:f+s),e=e>f?f:e,e<0&&(e+=f),f=s>e?0:e-s>>>0,s>>>=0;for(var i=Array(f);++o<f;)i[o]=r[o+s];return i}var J=Xe;function er(r,s,e){var o=r.length;return e=e===void 0?o:e,!s&&e>=o?r:J(r,s,e)}var H=er;t();a();var rr="\\ud800-\\udfff",tr="\\u0300-\\u036f",ar="\\ufe20-\\ufe2f",or="\\u20d0-\\u20ff",fr=tr+ar+or,sr="\\ufe0e\\ufe0f",ur="\\u200d",nr=RegExp("["+ur+rr+fr+sr+"]");function ir(r){return nr.test(r)}var h=ir;t();a();t();a();function pr(r){return r.split("")}var K=pr;t();a();var _="\\ud800-\\udfff",lr="\\u0300-\\u036f",mr="\\ufe20-\\ufe2f",dr="\\u20d0-\\u20ff",xr=lr+mr+dr,cr="\\ufe0e\\ufe0f",gr="["+_+"]",C="["+xr+"]",R="\\ud83c[\\udffb-\\udfff]",hr="(?:"+C+"|"+R+")",Y="[^"+_+"]",$="(?:\\ud83c[\\udde6-\\uddff]){2}",Q="[\\ud800-\\udbff][\\udc00-\\udfff]",br="\\u200d",X=hr+"?",ee="["+cr+"]?",yr="(?:"+br+"(?:"+[Y,$,Q].join("|")+")"+ee+X+")*",Cr=ee+X+yr,Rr="(?:"+[Y+C+"?",C,$,Q,gr].join("|")+")",Nr=RegExp(R+"(?="+R+")|"+Rr+Cr,"g");function vr(r){return r.match(Nr)||[]}var re=vr;function kr(r){return h(r)?re(r):K(r)}var te=kr;function Sr(r){return function(s){s=m(s);var e=h(s)?te(s):void 0,o=e?e[0]:s.charAt(0),f=e?H(e,1).join(""):s.slice(1);return o[r]()+f}}var ae=Sr;var Tr=ae("toUpperCase"),oe=Tr;function Ar(r){return oe(m(r).toLowerCase())}var fe=Ar;t();a();t();a();function Ir(r,s,e,o){var f=-1,i=r==null?0:r.length;for(o&&i&&(e=r[++f]);++f<i;)e=s(e,r[f],f,r);return e}var se=Ir;t();a();t();a();t();a();function Pr(r){return function(s){return r==null?void 0:r[s]}}var ue=Pr;var Or={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},jr=ue(Or),ne=jr;var Fr=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,wr="\\u0300-\\u036f",Lr="\\ufe20-\\ufe2f",Er="\\u20d0-\\u20ff",Mr=wr+Lr+Er,Wr="["+Mr+"]",Ur=RegExp(Wr,"g");function Br(r){return r=m(r),r&&r.replace(Fr,ne).replace(Ur,"")}var ie=Br;t();a();t();a();var zr=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Dr(r){return r.match(zr)||[]}var pe=Dr;t();a();var Vr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function qr(r){return Vr.test(r)}var le=qr;t();a();var ge="\\ud800-\\udfff",Zr="\\u0300-\\u036f",Gr="\\ufe20-\\ufe2f",Jr="\\u20d0-\\u20ff",Hr=Zr+Gr+Jr,he="\\u2700-\\u27bf",be="a-z\\xdf-\\xf6\\xf8-\\xff",Kr="\\xac\\xb1\\xd7\\xf7",_r="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Yr="\\u2000-\\u206f",$r=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ye="A-Z\\xc0-\\xd6\\xd8-\\xde",Qr="\\ufe0e\\ufe0f",Ce=Kr+_r+Yr+$r,Re="['\u2019]",me="["+Ce+"]",Xr="["+Hr+"]",Ne="\\d+",et="["+he+"]",ve="["+be+"]",ke="[^"+ge+Ce+Ne+he+be+ye+"]",rt="\\ud83c[\\udffb-\\udfff]",tt="(?:"+Xr+"|"+rt+")",at="[^"+ge+"]",Se="(?:\\ud83c[\\udde6-\\uddff]){2}",Te="[\\ud800-\\udbff][\\udc00-\\udfff]",c="["+ye+"]",ot="\\u200d",de="(?:"+ve+"|"+ke+")",ft="(?:"+c+"|"+ke+")",xe="(?:"+Re+"(?:d|ll|m|re|s|t|ve))?",ce="(?:"+Re+"(?:D|LL|M|RE|S|T|VE))?",Ae=tt+"?",Ie="["+Qr+"]?",st="(?:"+ot+"(?:"+[at,Se,Te].join("|")+")"+Ie+Ae+")*",ut="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",nt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",it=Ie+Ae+st,pt="(?:"+[et,Se,Te].join("|")+")"+it,lt=RegExp([c+"?"+ve+"+"+xe+"(?="+[me,c,"$"].join("|")+")",ft+"+"+ce+"(?="+[me,c+de,"$"].join("|")+")",c+"?"+de+"+"+xe,c+"+"+ce,nt,ut,Ne,pt].join("|"),"g");function mt(r){return r.match(lt)||[]}var Pe=mt;function dt(r,s,e){return r=m(r),s=e?void 0:s,s===void 0?le(r)?Pe(r):pe(r):r.match(s)||[]}var Oe=dt;var xt="['\u2019]",ct=RegExp(xt,"g");function gt(r){return function(s){return se(Oe(ie(s).replace(ct,"")),r,"")}}var je=gt;var ht=je(function(r,s,e){return s=s.toLowerCase(),r+(e?fe(s):s)}),N=ht;var bt=new Set(["enum","extends","package","void","short","class","abstract","return","import","for","assert","switch","getClass"]),Fe=class r extends T{constructor({ir:e,config:o,options:f}){var i;super({ir:e,config:o,options:f});x(this,"ir");x(this,"customConfig");x(this,"dynamicTypeMapper");x(this,"dynamicTypeLiteralMapper");x(this,"filePropertyMapper");this.ir=e,this.customConfig=A.parse((i=o.customConfig)!=null?i:{}),this.dynamicTypeMapper=new P({context:this}),this.dynamicTypeLiteralMapper=new I({context:this}),this.filePropertyMapper=new O({context:this})}clone(){return new r({ir:this.ir,config:this.config,options:this.options})}getClassName(e){return this.getName(e.pascalCase.safeName)}getEnumName(e){return this.getName(e.screamingSnakeCase.safeName)}getPropertyName(e){return this.getName(e.camelCase.safeName)}getMethodName(e){return this.getName(e.camelCase.safeName)}getRootClientClassReference(){return p.classReference({name:this.getRootClientClassName(),packageName:this.getRootPackageName()})}getRootClientClassName(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["client-class-name"])!=null?o:`${this.getBaseNamePrefix()}Client`}getEnvironmentClassName(){return"Environment"}getEnvironmentTypeReferenceFromID(e){let o=this.resolveEnvironmentName(e);if(o!=null)return p.codeblock(f=>{f.writeNode(this.getEnvironmentClassReference()),f.write("."),f.write(this.getEnumName(o))})}getEnvironmentClassReference(){return p.classReference({name:this.getEnvironmentClassName(),packageName:this.getCorePackageName()})}getJavaClassReferenceFromDeclaration({declaration:e}){return p.classReference({name:e.name.pascalCase.unsafeName,packageName:this.getTypesPackageName(e.fernFilepath)})}getNullableClassReference(){return p.classReference({name:"Nullable",packageName:this.getCorePackageName()})}getNullableOfNull(){return p.TypeLiteral.reference(p.invokeMethod({on:this.getNullableClassReference(),method:"ofNull",arguments_:[]}))}getFileStreamFromString(e){return p.TypeLiteral.reference(p.codeblock(o=>{o.write("new "),o.writeNode(this.getFileStreamClassReference()),o.write("("),o.writeNode(this.getByteArrayInputStreamClassReference()),o.write("("),o.writeNode(p.TypeLiteral.string(e)),o.write(".getBytes("),o.writeNode(this.getStandardCharsetsClassReference()),o.write(".UTF_8)))")}))}getFileStreamClassReference(){return p.classReference({name:"FileStream",packageName:this.getCorePackageName()})}getByteArrayInputStreamClassReference(){return p.classReference({name:"ByteArrayInputStream",packageName:"java.io"})}getStandardCharsetsClassReference(){return p.classReference({name:"StandardCharsets",packageName:"java.nio.charset"})}isPrimitive(e){switch(e.type){case"primitive":return!0;case"optional":case"nullable":return this.isPrimitive(e.value);case"named":{let o=this.resolveNamedType({typeId:e.value});if(o==null)return!1;switch(o.type){case"alias":return this.isPrimitive(o.typeReference);case"discriminatedUnion":case"undiscriminatedUnion":case"object":case"enum":return!1;default:y(o)}break}case"list":case"set":case"map":case"literal":case"unknown":return!1;default:y(e)}}isDirectLiteral(e){return e.type==="literal"}sortTypeInstancesByRequiredFirst(e,o){let f=new Map;o.forEach((d,b)=>{f.set(d.name.wireValue,b)});let i=[],v=[];for(let d of e)this.isOptional(d.typeReference)?v.push(d):i.push(d);return i.sort((d,b)=>{var k,S;return((k=f.get(d.name.wireValue))!=null?k:0)-((S=f.get(b.name.wireValue))!=null?S:0)}),[...i,...v]}getRootPackageName(){let e=this.getPackagePrefixTokens();return this.joinPackageTokens(e)}getCorePackageName(){let e=this.getPackagePrefixTokens();return e.push("core"),this.joinPackageTokens(e)}getTypesPackageName(e){return this.getResourcesPackage(e,"types")}getRequestsPackageName(e){return this.getPackageLayout()==="flat"?this.getTypesPackageName(e):this.getResourcesPackage(e,"requests")}getResourcesPackage(e,o){let f=this.getPackagePrefixTokens();switch(this.getPackageLayout()){case"flat":e!=null&&f.push(...e.packagePath.map(i=>this.getPackageNameSegment(i)));break;case"nested":default:e!=null&&e.allParts.length>0&&f.push("resources"),e!=null&&f.push(...e.allParts.map(i=>this.getPackageNameSegment(i)))}return o!=null&&f.push(o),this.joinPackageTokens(f)}getPackageName(e,o){let f=this.getPackageNameSegments(e);return f=o!=null?[...f,o]:f,[...this.getPackagePrefixTokens(),...f].join(".")}getPackageLayout(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["package-layout"])!=null?o:"nested"}shouldInlinePathParameters(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["inline-path-parameters"])!=null?o:!1}shouldInlineFileProperties(){var e,o;return(o=(e=this.customConfig)==null?void 0:e["inline-file-properties"])!=null?o:!1}getPackageNameSegments(e){return e.packagePath.map(o=>this.getPackageNameSegment(o))}getPackageNameSegment(e){return e.camelCase.safeName.toLowerCase()}getPackagePrefixTokens(){var o;if(((o=this.customConfig)==null?void 0:o["package-prefix"])!=null)return this.customConfig["package-prefix"].split(".");let e=[];return e.push("com"),e.push(...this.splitOnNonAlphaNumericChar(this.config.organization)),e.push(...this.splitOnNonAlphaNumericChar(this.getApiName())),e}getBaseNamePrefix(){return this.convertKebabCaseToUpperCamelCase(this.config.organization)+this.convertKebabCaseToUpperCamelCase(this.getApiName())}getApiName(){return N(this.config.workspaceName)}startsWithNumber(e){return/^\d/.test(e)}splitOnNonAlphaNumericChar(e){return e.split(/[^a-zA-Z0-9]/)}convertKebabCaseToUpperCamelCase(e){return e.replace(/-([a-z])/g,(o,f)=>f.toUpperCase()).replace(/^[a-z]/,o=>o.toUpperCase())}joinPackageTokens(e){return e.map(f=>this.startsWithNumber(f)?"_"+f:f).join(".")}getName(e){return this.isReservedName(e)?"_"+e:e}isReservedName(e){return bt.has(e)}};export{Fe 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-JFD4YVTW.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/camelCase.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/capitalize.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","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_createCompounder.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_arrayReduce.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/deburr.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_deburrLetter.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_basePropertyOf.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/words.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_asciiWords.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_hasUnicodeWord.js","../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_unicodeWords.js"],"sourcesContent":["import {\n AbstractDynamicSnippetsGeneratorContext,\n FernGeneratorExec,\n Options\n} from \"@fern-api/browser-compatible-base-generator\";\nimport { assertNever } from \"@fern-api/core-utils\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { BaseJavaCustomConfigSchema, java } from \"@fern-api/java-ast\";\nimport { camelCase } from \"lodash-es\";\n\nimport { DynamicTypeLiteralMapper } from \"./DynamicTypeLiteralMapper\";\nimport { DynamicTypeMapper } from \"./DynamicTypeMapper\";\nimport { FilePropertyMapper } from \"./FilePropertyMapper\";\n\nconst RESERVED_NAMES = new Set([\n \"enum\",\n \"extends\",\n \"package\",\n \"void\",\n \"short\",\n \"class\",\n \"abstract\",\n \"return\",\n \"import\",\n \"for\",\n \"assert\",\n \"switch\",\n \"getClass\"\n]);\n\nexport class DynamicSnippetsGeneratorContext extends AbstractDynamicSnippetsGeneratorContext {\n public ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n public customConfig: BaseJavaCustomConfigSchema;\n public dynamicTypeMapper: DynamicTypeMapper;\n public dynamicTypeLiteralMapper: DynamicTypeLiteralMapper;\n public filePropertyMapper: FilePropertyMapper;\n\n constructor({\n ir,\n config,\n options\n }: {\n ir: FernIr.dynamic.DynamicIntermediateRepresentation;\n config: FernGeneratorExec.GeneratorConfig;\n options?: Options;\n }) {\n super({ ir, config, options });\n this.ir = ir;\n this.customConfig = BaseJavaCustomConfigSchema.parse(config.customConfig ?? {});\n this.dynamicTypeMapper = new DynamicTypeMapper({ context: this });\n this.dynamicTypeLiteralMapper = new DynamicTypeLiteralMapper({ context: this });\n this.filePropertyMapper = new FilePropertyMapper({ context: this });\n }\n\n public clone(): DynamicSnippetsGeneratorContext {\n return new DynamicSnippetsGeneratorContext({\n ir: this.ir,\n config: this.config,\n options: this.options\n });\n }\n\n public getClassName(name: FernIr.Name): string {\n return this.getName(name.pascalCase.safeName);\n }\n\n public getEnumName(name: FernIr.Name): string {\n return this.getName(name.screamingSnakeCase.safeName);\n }\n\n public getPropertyName(name: FernIr.Name): string {\n return this.getName(name.camelCase.safeName);\n }\n\n public getMethodName(name: FernIr.Name): string {\n return this.getName(name.camelCase.safeName);\n }\n\n public getRootClientClassReference(): java.ClassReference {\n return java.classReference({\n name: this.getRootClientClassName(),\n packageName: this.getRootPackageName()\n });\n }\n\n public getRootClientClassName(): string {\n return this.customConfig?.[\"client-class-name\"] ?? `${this.getBaseNamePrefix()}Client`;\n }\n\n public getEnvironmentClassName(): string {\n return \"Environment\";\n }\n\n public getEnvironmentTypeReferenceFromID(environmentID: string): java.AstNode | undefined {\n const environmentName = this.resolveEnvironmentName(environmentID);\n if (environmentName == null) {\n return undefined;\n }\n return java.codeblock((writer) => {\n writer.writeNode(this.getEnvironmentClassReference());\n writer.write(\".\");\n writer.write(this.getEnumName(environmentName));\n });\n }\n\n public getEnvironmentClassReference(): java.ClassReference {\n return java.classReference({\n name: this.getEnvironmentClassName(),\n packageName: this.getCorePackageName()\n });\n }\n\n public getJavaClassReferenceFromDeclaration({\n declaration\n }: {\n declaration: FernIr.dynamic.Declaration;\n }): java.ClassReference {\n return java.classReference({\n name: declaration.name.pascalCase.unsafeName,\n packageName: this.getTypesPackageName(declaration.fernFilepath)\n });\n }\n\n public getNullableClassReference(): java.ClassReference {\n return java.classReference({\n name: \"Nullable\",\n packageName: this.getCorePackageName()\n });\n }\n\n public getNullableOfNull(): java.TypeLiteral {\n return java.TypeLiteral.reference(\n java.invokeMethod({\n on: this.getNullableClassReference(),\n method: \"ofNull\",\n arguments_: []\n })\n );\n }\n\n public getFileStreamFromString(content: string): java.TypeLiteral {\n return java.TypeLiteral.reference(\n java.codeblock((writer) => {\n writer.write(\"new \");\n writer.writeNode(this.getFileStreamClassReference());\n writer.write(\"(\");\n writer.writeNode(this.getByteArrayInputStreamClassReference());\n writer.write(\"(\");\n writer.writeNode(java.TypeLiteral.string(content));\n writer.write(\".getBytes(\");\n writer.writeNode(this.getStandardCharsetsClassReference());\n writer.write(\".UTF_8)))\");\n })\n );\n }\n\n public getFileStreamClassReference(): java.ClassReference {\n return java.classReference({\n name: \"FileStream\",\n packageName: this.getCorePackageName()\n });\n }\n\n public getByteArrayInputStreamClassReference(): java.ClassReference {\n return java.classReference({\n name: \"ByteArrayInputStream\",\n packageName: \"java.io\"\n });\n }\n\n public getStandardCharsetsClassReference(): java.ClassReference {\n return java.classReference({\n name: \"StandardCharsets\",\n packageName: \"java.nio.charset\"\n });\n }\n\n public isPrimitive(typeReference: FernIr.dynamic.TypeReference): boolean {\n switch (typeReference.type) {\n case \"primitive\":\n return true;\n case \"optional\":\n case \"nullable\":\n return this.isPrimitive(typeReference.value);\n case \"named\": {\n const named = this.resolveNamedType({ typeId: typeReference.value });\n if (named == null) {\n return false;\n }\n switch (named.type) {\n case \"alias\":\n return this.isPrimitive(named.typeReference);\n case \"discriminatedUnion\":\n case \"undiscriminatedUnion\":\n case \"object\":\n case \"enum\":\n return false;\n default:\n assertNever(named);\n }\n break;\n }\n case \"list\":\n case \"set\":\n case \"map\":\n case \"literal\":\n case \"unknown\":\n return false;\n default:\n assertNever(typeReference);\n }\n }\n\n public isDirectLiteral(typeReference: FernIr.dynamic.TypeReference): boolean {\n return typeReference.type === \"literal\";\n }\n\n public sortTypeInstancesByRequiredFirst(\n instances: Array<{\n name: FernIr.dynamic.NameAndWireValue;\n typeReference: FernIr.dynamic.TypeReference;\n value: unknown;\n }>,\n parameters: FernIr.dynamic.NamedParameter[]\n ): Array<{ name: FernIr.dynamic.NameAndWireValue; typeReference: FernIr.dynamic.TypeReference; value: unknown }> {\n const indexMap = new Map<string, number>();\n parameters.forEach((param, index) => {\n indexMap.set(param.name.wireValue, index);\n });\n\n const required: Array<{\n name: FernIr.dynamic.NameAndWireValue;\n typeReference: FernIr.dynamic.TypeReference;\n value: unknown;\n }> = [];\n const optional: Array<{\n name: FernIr.dynamic.NameAndWireValue;\n typeReference: FernIr.dynamic.TypeReference;\n value: unknown;\n }> = [];\n\n for (const instance of instances) {\n if (this.isOptional(instance.typeReference)) {\n optional.push(instance);\n } else {\n required.push(instance);\n }\n }\n\n required.sort((a, b) => (indexMap.get(a.name.wireValue) ?? 0) - (indexMap.get(b.name.wireValue) ?? 0));\n\n return [...required, ...optional];\n }\n\n public getRootPackageName(): string {\n const tokens = this.getPackagePrefixTokens();\n return this.joinPackageTokens(tokens);\n }\n\n public getCorePackageName(): string {\n const tokens = this.getPackagePrefixTokens();\n tokens.push(\"core\");\n return this.joinPackageTokens(tokens);\n }\n\n public getTypesPackageName(fernFilepath: FernIr.dynamic.FernFilepath): string {\n return this.getResourcesPackage(fernFilepath, \"types\");\n }\n\n public getRequestsPackageName(fernFilepath: FernIr.dynamic.FernFilepath): string {\n if (this.getPackageLayout() === \"flat\") {\n return this.getTypesPackageName(fernFilepath);\n }\n return this.getResourcesPackage(fernFilepath, \"requests\");\n }\n\n protected getResourcesPackage(fernFilepath: FernIr.dynamic.FernFilepath, suffix?: string): string {\n const tokens = this.getPackagePrefixTokens();\n switch (this.getPackageLayout()) {\n case \"flat\":\n if (fernFilepath != null) {\n tokens.push(\n ...fernFilepath.packagePath.map((name: FernIr.dynamic.Name) => this.getPackageNameSegment(name))\n );\n }\n break;\n case \"nested\":\n default:\n if (fernFilepath != null && fernFilepath.allParts.length > 0) {\n tokens.push(\"resources\");\n }\n if (fernFilepath != null) {\n tokens.push(\n ...fernFilepath.allParts.map((name: FernIr.dynamic.Name) => this.getPackageNameSegment(name))\n );\n }\n }\n if (suffix != null) {\n tokens.push(suffix);\n }\n return this.joinPackageTokens(tokens);\n }\n\n public getPackageName(fernFilepath: FernIr.dynamic.FernFilepath, suffix?: string): string {\n let parts = this.getPackageNameSegments(fernFilepath);\n parts = suffix != null ? [...parts, suffix] : parts;\n return [...this.getPackagePrefixTokens(), ...parts].join(\".\");\n }\n\n public getPackageLayout(): string {\n return this.customConfig?.[\"package-layout\"] ?? \"nested\";\n }\n\n public shouldInlinePathParameters(): boolean {\n return this.customConfig?.[\"inline-path-parameters\"] ?? false;\n }\n\n public shouldInlineFileProperties(): boolean {\n return this.customConfig?.[\"inline-file-properties\"] ?? false;\n }\n\n private getPackageNameSegments(fernFilepath: FernIr.dynamic.FernFilepath): string[] {\n return fernFilepath.packagePath.map((segment: FernIr.dynamic.Name) => this.getPackageNameSegment(segment));\n }\n\n private getPackageNameSegment(name: FernIr.dynamic.Name): string {\n return name.camelCase.safeName.toLowerCase();\n }\n\n private getPackagePrefixTokens(): string[] {\n if (this.customConfig?.[\"package-prefix\"] != null) {\n return this.customConfig[\"package-prefix\"].split(\".\");\n }\n const prefix: string[] = [];\n prefix.push(\"com\");\n prefix.push(...this.splitOnNonAlphaNumericChar(this.config.organization));\n prefix.push(...this.splitOnNonAlphaNumericChar(this.getApiName()));\n return prefix;\n }\n\n private getBaseNamePrefix(): string {\n return (\n this.convertKebabCaseToUpperCamelCase(this.config.organization) +\n this.convertKebabCaseToUpperCamelCase(this.getApiName())\n );\n }\n\n private getApiName(): string {\n return camelCase(this.config.workspaceName);\n }\n\n private startsWithNumber(token: string): boolean {\n return /^\\d/.test(token);\n }\n\n private splitOnNonAlphaNumericChar(value: string): string[] {\n return value.split(/[^a-zA-Z0-9]/);\n }\n\n private convertKebabCaseToUpperCamelCase(kebab: string): string {\n return kebab.replace(/-([a-z])/g, (_, char) => char.toUpperCase()).replace(/^[a-z]/, (c) => c.toUpperCase());\n }\n\n private joinPackageTokens(tokens: string[]): string {\n const sanitizedTokens = tokens.map((token) => {\n return this.startsWithNumber(token) ? \"_\" + token : token;\n });\n return sanitizedTokens.join(\".\");\n }\n\n private getName(name: string): string {\n if (this.isReservedName(name)) {\n return \"_\" + name;\n }\n return name;\n }\n\n private isReservedName(name: string): boolean {\n return RESERVED_NAMES.has(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 capitalize from './capitalize.js';\nimport createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nexport default camelCase;\n","import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\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","import arrayReduce from './_arrayReduce.js';\nimport deburr from './deburr.js';\nimport words from './words.js';\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nexport default createCompounder;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nexport default deburr;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nexport default deburrLetter;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import asciiWords from './_asciiWords.js';\nimport hasUnicodeWord from './_hasUnicodeWord.js';\nimport toString from './toString.js';\nimport unicodeWords from './_unicodeWords.js';\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nexport default words;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nexport default asciiWords;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nexport default hasUnicodeWord;\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 rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\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 rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nexport default unicodeWords;\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","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","capitalize","string","upperFirst_default","toString_default","capitalize_default","init_process","init_buffer","init_process","init_buffer","arrayReduce","array","iteratee","accumulator","initAccum","index","length","arrayReduce_default","init_process","init_buffer","init_process","init_buffer","init_process","init_buffer","basePropertyOf","object","key","basePropertyOf_default","deburredLetters","deburrLetter","basePropertyOf_default","deburrLetter_default","reLatin","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsCombo","reComboMark","deburr","string","toString_default","deburrLetter_default","deburr_default","init_process","init_buffer","init_process","init_buffer","reAsciiWord","asciiWords","string","asciiWords_default","init_process","init_buffer","reHasUnicodeWord","hasUnicodeWord","string","hasUnicodeWord_default","init_process","init_buffer","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","reUnicodeWord","unicodeWords","string","unicodeWords_default","words","string","pattern","guard","toString_default","hasUnicodeWord_default","unicodeWords_default","asciiWords_default","words_default","rsApos","reApos","createCompounder","callback","string","arrayReduce_default","words_default","deburr_default","createCompounder_default","camelCase","createCompounder_default","result","word","index","capitalize_default","camelCase_default","RESERVED_NAMES","DynamicSnippetsGeneratorContext","_DynamicSnippetsGeneratorContext","AbstractDynamicSnippetsGeneratorContext","ir","config","options","_a","__publicField","BaseJavaCustomConfigSchema","DynamicTypeMapper","DynamicTypeLiteralMapper","FilePropertyMapper","name","java_exports","_b","environmentID","environmentName","writer","declaration","content","typeReference","named","assertNever","instances","parameters","indexMap","param","index","required","optional","instance","a","tokens","fernFilepath","suffix","parts","segment","prefix","camelCase_default","token","value","kebab","_","char","c"]}
@@ -0,0 +1,2 @@
1
+ import{b as m,d as y,e as u}from"./chunk-EOZMORS3.js";import{a as h,d as a}from"./chunk-3X524Y2I.js";import{f,h as B,i as A}from"./chunk-2U3YQWRZ.js";B();A();var q="com.example.usage",M="Example",L="main",E="args",b="client",S={type:"primitive",value:"STRING"},C=class{constructor({context:e,formatter:t}){f(this,"context");f(this,"formatter");this.context=e,this.formatter=t}async generateSnippet({endpoint:e,request:t,options:r}){var i;let n=this.getConfig(r);return await this.buildCodeBlock({endpoint:e,snippet:t,options:r}).toStringAsync({packageName:(i=n.fullStylePackageName)!=null?i:q,customConfig:this.context.customConfig,formatter:this.formatter})}generateSnippetSync({endpoint:e,request:t,options:r}){var i;let n=this.getConfig(r);return this.buildCodeBlock({endpoint:e,snippet:t,options:r}).toString({packageName:(i=n.fullStylePackageName)!=null?i:q,customConfig:this.context.customConfig,formatter:this.formatter})}buildCodeBlock({endpoint:e,snippet:t,options:r}){let n=a.codeblock(i=>{i.writeNodeStatement(this.constructClient({endpoint:e,snippet:t})),i.newLine(),i.writeNodeStatement(this.callMethod({endpoint:e,snippet:t}))}),s=this.getStyle(r);switch(s){case y.Concise:return n;case y.Full:return this.buildFullCodeBlock({body:n,options:r});default:h(s)}}constructClient({endpoint:e,snippet:t}){return a.codeblock(r=>{r.writeNode(this.context.getRootClientClassReference()),r.write(` ${b} = `),r.writeNode(a.TypeLiteral.builder({classReference:this.context.getRootClientClassReference(),parameters:this.getRootClientBuilderArgs({endpoint:e,snippet:t})}))})}buildFullCodeBlock({body:e,options:t}){var i;let r=this.getConfig(t),n=a.class_({name:(i=r.fullStyleClassName)!=null?i:M,access:a.Access.Public}),s=a.parameter({name:E,type:a.Type.array(a.Type.string())});return n.addMethod(a.method({name:L,access:a.Access.Public,static_:!0,parameters:[s],body:e})),n}getRootClientBuilderArgs({endpoint:e,snippet:t}){var o,p;let r=[];e.auth!=null&&(t.auth!=null?r.push(...this.getRootClientAuthArgs({auth:e.auth,values:t.auth})):this.context.errors.add({severity:m.Warning,message:`Auth with ${e.auth.type} configuration is required for this endpoint`}));let n=this.getRootClientBaseUrlArg({baseUrl:t.baseURL,environment:t.environment});n!=null&&r.push(n),this.context.errors.scope(u.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();let s=new Set;if([...(o=this.context.ir.pathParameters)!=null?o:[],...(p=e.request.pathParameters)!=null?p:[]].forEach(c=>{c.variable!=null&&s.add(c.variable)}),this.context.ir.variables!=null&&this.context.ir.variables.length>0){for(let c of this.context.ir.variables)if(s.has(c.id)){let l=c.name.camelCase.unsafeName;r.push({name:l,value:a.TypeLiteral.string(`YOUR_${c.name.screamingSnakeCase.unsafeName}`)})}}if(this.context.errors.scope(u.PathParameters),this.context.ir.pathParameters!=null&&this.context.ir.pathParameters.length>0){let c=this.context.ir.pathParameters.filter(l=>l.variable==null);c.length>0&&r.push(...this.getPathParameters({namedParameters:c,snippet:t}))}return this.context.errors.unscope(),r}getRootClientBaseUrlArg({baseUrl:e,environment:t}){var r;if(e!=null&&t!=null){this.context.errors.add({severity:m.Critical,message:"Cannot specify both baseUrl and environment options"});return}if(e!=null){if(((r=this.context.ir.environments)==null?void 0:r.environments.type)==="multipleBaseUrls"){this.context.errors.add({severity:m.Critical,message:"The Java SDK doesn't support a baseUrl when multiple URL environments are configured"});return}return{name:"url",value:a.TypeLiteral.string(e)}}if(t!=null){if(this.context.isSingleEnvironmentID(t)){let n=this.context.getEnvironmentTypeReferenceFromID(t);if(n==null){this.context.errors.add({severity:m.Warning,message:`Environment ${JSON.stringify(t)} was not found`});return}return{name:"environment",value:a.TypeLiteral.reference(n)}}if(this.context.isMultiEnvironmentValues(t))return this.context.validateMultiEnvironmentUrlValues(t)?{name:"environment",value:a.TypeLiteral.reference(a.instantiateClass({classReference:this.context.getEnvironmentClassReference(),arguments_:Object.values(t).map(n=>this.context.dynamicTypeLiteralMapper.convert({typeReference:S,value:n}))}))}:void 0}}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("The Java SDK Generator does not support Inferred auth scheme yet"),[];default:h(e)}}addError(e){this.context.errors.add({severity:m.Critical,message:e})}addWarning(e){this.context.errors.add({severity:m.Warning,message:e})}getRootClientBasicAuthArgs({auth:e,values:t}){return[{name:"credentials",value:a.TypeLiteral.raw(`"${t.username}", "${t.password}"`)}]}getRootClientBearerAuthArgs({auth:e,values:t}){return[{name:this.context.getMethodName(e.token),value:a.TypeLiteral.string(t.token)}]}getRootClientHeaderAuthArgs({auth:e,values:t}){return[{name:this.context.getMethodName(e.header.name.name),value:this.context.dynamicTypeLiteralMapper.convert({typeReference:e.header.typeReference,value:t.value})}]}getRootClientOAuthArgs({auth:e,values:t}){return[{name:this.context.getMethodName(e.clientId),value:a.TypeLiteral.string(t.clientId)},{name:this.context.getMethodName(e.clientSecret),value:a.TypeLiteral.string(t.clientSecret)}]}getRootClientHeaderArgs({headers:e,values:t}){let r=[];for(let n of e){let s=this.getRootClientHeaderArg({header:n,value:t.value});s!=null&&r.push({name:this.context.getMethodName(n.name.name),value:s})}return r}getRootClientHeaderArg({header:e,value:t}){let r=this.context.dynamicTypeLiteralMapper.convert({typeReference:e.typeReference,value:t});if(!a.TypeLiteral.isNop(r))return r}callMethod({endpoint:e,snippet:t}){return a.invokeMethod({on:a.codeblock(b),method:this.getMethod({endpoint:e}),arguments_:this.getMethodArgs({endpoint:e,snippet:t})})}getMethodArgs({endpoint:e,snippet:t}){switch(e.request.type){case"inlined":return this.getMethodArgsForInlinedRequest({request:e.request,snippet:t});case"body":return this.getMethodArgsForBodyRequest({request:e.request,snippet:t});default:h(e.request)}}getMethodArgsForBodyRequest({request:e,snippet:t}){var i;let r=[];this.context.errors.scope(u.PathParameters);let n=((i=e.pathParameters)!=null?i:[]).filter(o=>o.variable==null);n.length>0&&r.push(...this.getPathParameters({namedParameters:n,snippet:t}).map(o=>o.value)),this.context.errors.unscope(),this.context.errors.scope(u.RequestBody),e.body!=null&&r.push(this.getBodyRequestArg({body:e.body,value:t.requestBody})),this.context.errors.unscope();let s=this.getRequestOptionsArg({request:e,snippet:t});return s!=null&&r.push(s),r}getBodyRequestArg({body:e,value:t}){switch(e.type){case"bytes":return this.getBytesBodyRequestArg({value:t});case"typeReference":{if(e.value.type==="optional"){if(t==null)return a.TypeLiteral.reference(a.invokeMethod({on:a.classReference({name:"Optional",packageName:"java.util"}),method:"empty",arguments_:[]}));let r=this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value.value,value:t,as:"request"});return r.toString({packageName:"com.example",customConfig:this.context.customConfig}).includes("Optional.empty()")?r:a.TypeLiteral.optional({value:r,useOf:!0})}return this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value,value:t,as:"request"})}default:h(e)}}getBytesBodyRequestArg({value:e}){return e==null?a.TypeLiteral.bytes(""):typeof e!="string"?(this.context.errors.add({severity:m.Critical,message:`Expected bytes value to be a string, got ${typeof e}`}),a.TypeLiteral.nop()):a.TypeLiteral.bytes(e)}getMethodArgsForInlinedRequest({request:e,snippet:t}){var c;let r=[],{inlinePathParameters:n,inlineFileProperties:s}={inlinePathParameters:this.context.shouldInlinePathParameters(),inlineFileProperties:this.context.shouldInlineFileProperties()};this.context.errors.scope(u.PathParameters);let i=[],o=((c=e.pathParameters)!=null?c:[]).filter(l=>l.variable==null);o.length>0&&i.push(...this.getPathParameters({namedParameters:o,snippet:t})),this.context.errors.unscope(),this.context.errors.scope(u.RequestBody);let p=this.getFilePropertyInfo({request:e,snippet:t});return this.context.errors.unscope(),this.context.includePathParametersInWrappedRequest({request:e,inlinePathParameters:n})||r.push(...i.map(l=>l.value)),s||r.push(...p.fileFields.map(l=>l.value)),r.push(this.getInlinedRequestArg({request:e,snippet:t,pathParameterFields:this.context.includePathParametersInWrappedRequest({request:e,inlinePathParameters:n})?i:[],filePropertyInfo:p})),r}getFilePropertyInfo({request:e,snippet:t}){return e.body==null||!this.context.isFileUploadRequestBody(e.body)?{fileFields:[],bodyPropertyFields:[]}:this.context.filePropertyMapper.getFilePropertyInfo({body:e.body,value:t.requestBody})}getInlinedRequestArg({request:e,snippet:t,pathParameterFields:r,filePropertyInfo:n}){var v,P,R,x,F,I;this.context.errors.scope(u.QueryParameters);let i=this.context.associateQueryParametersByWireValue({parameters:(v=e.queryParameters)!=null?v:[],values:(P=t.queryParameters)!=null?P:{}}).filter(d=>!this.context.isDirectLiteral(d.typeReference)),p=this.context.sortTypeInstancesByRequiredFirst(i,(R=e.queryParameters)!=null?R:[]).map(d=>({name:this.context.getMethodName(d.name.name),value:this.context.dynamicTypeLiteralMapper.convert({typeReference:d.typeReference,value:d.value,as:"request"})}));this.context.errors.unscope(),this.context.errors.scope(u.Headers);let l=this.context.associateByWireValue({parameters:(x=e.headers)!=null?x:[],values:(F=t.headers)!=null?F:{}}).filter(d=>!this.context.isDirectLiteral(d.typeReference)),T=this.context.sortTypeInstancesByRequiredFirst(l,(I=e.headers)!=null?I:[]).map(d=>({name:this.context.getMethodName(d.name.name),value:this.context.dynamicTypeLiteralMapper.convert({typeReference:d.typeReference,value:d.value,as:"request"})}));this.context.errors.unscope(),this.context.errors.scope(u.RequestBody);let N=e.body!=null?this.getInlinedRequestBodyBuilderParameters({body:e.body,value:t.requestBody,filePropertyInfo:n}):[];return this.context.errors.unscope(),a.TypeLiteral.builder({classReference:a.classReference({name:this.context.getClassName(e.declaration.name),packageName:this.context.getRequestsPackageName(e.declaration.fernFilepath)}),parameters:[...r,...T,...p,...N]})}getRequestOptionsArg({request:e,snippet:t}){var p,c,l;let r="headers"in e?(p=e.headers)!=null?p:[]:[];if(r.length===0||Object.keys((c=t.headers)!=null?c:{}).length===0)return;this.context.errors.scope(u.Headers);let n=this.context.associateByWireValue({parameters:r,values:(l=t.headers)!=null?l:{}});if(this.context.errors.unscope(),n.length===0)return;let s=a.classReference({name:"RequestOptions",packageName:this.context.getCorePackageName()}),i=a.invokeMethod({on:s,method:"builder",arguments_:[]});for(let g of n)i=a.invokeMethod({on:i,method:"addHeader",arguments_:[a.TypeLiteral.string(g.name.wireValue),this.context.dynamicTypeLiteralMapper.convert(g)]});let o=a.invokeMethod({on:i,method:"build",arguments_:[]});return a.TypeLiteral.reference(o)}getInlinedRequestBodyBuilderParameters({body:e,value:t,filePropertyInfo:r}){switch(e.type){case"properties":return this.getInlinedRequestBodyPropertyBuilderParameters({parameters:e.value,value:t});case"referenced":return[this.getReferencedRequestBodyPropertyBuilderParameter({body:e,value:t})];case"fileUpload":return this.getFileUploadRequestBodyBuilderParameters({filePropertyInfo:r});default:h(e)}}getFileUploadRequestBodyBuilderParameters({filePropertyInfo:e}){return this.context.shouldInlineFileProperties()?[...e.fileFields,...e.bodyPropertyFields]:e.bodyPropertyFields}getReferencedRequestBodyPropertyBuilderParameter({body:e,value:t}){return{name:this.context.getMethodName(e.bodyKey),value:this.getReferencedRequestBodyPropertyTypeLiteral({body:e.bodyType,value:t})}}getReferencedRequestBodyPropertyTypeLiteral({body:e,value:t}){switch(e.type){case"bytes":return this.getBytesBodyRequestArg({value:t});case"typeReference":return this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value,value:t,as:"request"});default:h(e)}}getInlinedRequestBodyPropertyBuilderParameters({parameters:e,value:t}){var i;let n=this.context.associateByWireValue({parameters:e,values:(i=this.context.getRecord(t))!=null?i:{}}).filter(o=>!this.context.isDirectLiteral(o.typeReference));return this.context.sortTypeInstancesByRequiredFirst(n,e).map(o=>({name:this.context.getMethodName(o.name.name),value:this.context.dynamicTypeLiteralMapper.convert({typeReference:o.typeReference,value:o.value,as:"request"})}))}getPathParameters({namedParameters:e,snippet:t}){var s;let r=[],n=this.context.associateByWireValue({parameters:e,values:(s=t.pathParameters)!=null?s:{}});for(let i of n)r.push({name:this.context.getMethodName(i.name.name),value:this.context.dynamicTypeLiteralMapper.convert(i)});return r}getMethod({endpoint:e}){return e.declaration.fernFilepath.allParts.length>0?`${e.declaration.fernFilepath.allParts.map(t=>`${this.context.getMethodName(t)}()`).join(".")}.${this.context.getMethodName(e.declaration.name)}`:this.context.getMethodName(e.declaration.name)}getStyle(e){var t,r;return(r=(t=e.style)!=null?t:this.context.options.style)!=null?r:y.Full}getConfig(e){var t,r;return(r=(t=e.config)!=null?t:this.context.options.config)!=null?r:{}}};export{C as a};
2
+ //# sourceMappingURL=chunk-KQE3JYZ2.js.map