@fern-api/java-dynamic-snippets 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/Config.cjs +1 -0
- package/cjs/Config.cjs.map +1 -0
- package/cjs/DynamicSnippetsGenerator.cjs +16 -11
- package/cjs/DynamicSnippetsGenerator.cjs.map +1 -0
- package/cjs/DynamicSnippetsGenerator.d.cts +1 -1
- package/cjs/{DynamicSnippetsGeneratorContext-B2BA5MLv.d.cts → DynamicSnippetsGeneratorContext-FbVOZ8Go.d.cts} +8 -5
- package/cjs/EndpointSnippetGenerator.cjs +12 -7
- package/cjs/EndpointSnippetGenerator.cjs.map +1 -0
- package/cjs/EndpointSnippetGenerator.d.cts +4 -1
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs +16 -11
- package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +1 -0
- package/cjs/context/DynamicSnippetsGeneratorContext.d.cts +1 -1
- package/cjs/context/DynamicTypeLiteralMapper.cjs +12 -7
- package/cjs/context/DynamicTypeLiteralMapper.cjs.map +1 -0
- package/cjs/context/DynamicTypeLiteralMapper.d.cts +1 -1
- package/cjs/context/DynamicTypeMapper.cjs +12 -7
- package/cjs/context/DynamicTypeMapper.cjs.map +1 -0
- package/cjs/context/DynamicTypeMapper.d.cts +1 -1
- package/cjs/context/FilePropertyMapper.cjs +12 -7
- package/cjs/context/FilePropertyMapper.cjs.map +1 -0
- package/cjs/context/FilePropertyMapper.d.cts +1 -1
- package/cjs/index.cjs +26 -21
- package/cjs/index.cjs.map +1 -0
- package/cjs/index.d.cts +2 -2
- package/esm/Config.js +2 -1
- package/esm/Config.js.map +1 -0
- package/esm/DynamicSnippetsGenerator.d.ts +1 -1
- package/esm/DynamicSnippetsGenerator.js +2 -1
- package/esm/DynamicSnippetsGenerator.js.map +1 -0
- package/esm/{DynamicSnippetsGeneratorContext-B2BA5MLv.d.ts → DynamicSnippetsGeneratorContext-FbVOZ8Go.d.ts} +8 -5
- package/esm/EndpointSnippetGenerator.d.ts +4 -1
- package/esm/EndpointSnippetGenerator.js +2 -1
- package/esm/EndpointSnippetGenerator.js.map +1 -0
- package/esm/chunk-3JSOCWNQ.js +20 -0
- package/esm/chunk-3JSOCWNQ.js.map +1 -0
- package/esm/chunk-3LOINSB3.js +2 -0
- package/esm/chunk-3LOINSB3.js.map +1 -0
- package/esm/chunk-6YM2QG7U.js +2 -0
- package/esm/chunk-6YM2QG7U.js.map +1 -0
- package/esm/{chunk-2AZXIWKY.js → chunk-E6GFFTKW.js} +2 -1
- package/esm/chunk-E6GFFTKW.js.map +1 -0
- package/esm/chunk-JZ2FDMYI.js +15 -0
- package/esm/chunk-JZ2FDMYI.js.map +1 -0
- package/esm/{chunk-452HWDL4.js → chunk-JZBCQWQN.js} +2 -1
- package/esm/chunk-JZBCQWQN.js.map +1 -0
- package/esm/{chunk-7CY27UU7.js → chunk-PUPEW5QI.js} +2 -1
- package/esm/chunk-PUPEW5QI.js.map +1 -0
- package/esm/chunk-SQKACQJK.js +2 -0
- package/esm/chunk-SQKACQJK.js.map +1 -0
- package/esm/chunk-WBGWLNLI.js +2 -0
- package/esm/chunk-WBGWLNLI.js.map +1 -0
- package/esm/chunk-ZYVZJBJN.js +2 -0
- package/esm/chunk-ZYVZJBJN.js.map +1 -0
- package/esm/context/DynamicSnippetsGeneratorContext.d.ts +1 -1
- package/esm/context/DynamicSnippetsGeneratorContext.js +2 -1
- package/esm/context/DynamicSnippetsGeneratorContext.js.map +1 -0
- package/esm/context/DynamicTypeLiteralMapper.d.ts +1 -1
- package/esm/context/DynamicTypeLiteralMapper.js +2 -1
- package/esm/context/DynamicTypeLiteralMapper.js.map +1 -0
- package/esm/context/DynamicTypeMapper.d.ts +1 -1
- package/esm/context/DynamicTypeMapper.js +2 -1
- package/esm/context/DynamicTypeMapper.js.map +1 -0
- package/esm/context/FilePropertyMapper.d.ts +1 -1
- package/esm/context/FilePropertyMapper.js +2 -1
- package/esm/context/FilePropertyMapper.js.map +1 -0
- package/esm/index.d.ts +2 -2
- package/esm/index.js +12 -11
- package/esm/index.js.map +1 -0
- package/package.json +1 -1
- package/esm/chunk-AASPH6YC.js +0 -15
- package/esm/chunk-BKM7JFLZ.js +0 -1
- package/esm/chunk-HN67B7VQ.js +0 -1
- package/esm/chunk-JSEUWNSK.js +0 -1
- package/esm/chunk-N3DIPQCT.js +0 -14
- package/esm/chunk-TTNRR5YY.js +0 -1
- package/esm/chunk-WFKWXM7L.js +0 -1
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a as r,
|
|
1
|
+
import{a as r,d as t}from"./chunk-3JSOCWNQ.js";import{j as a,l as c,n as i}from"./chunk-E6GFFTKW.js";c();i();var p=class{constructor({context:e}){a(this,"context");this.context=e}convert(e){switch(e.typeReference.type){case"list":return t.Type.list(this.convert({typeReference:e.typeReference}));case"literal":return this.convertLiteral({literal:e.typeReference.value});case"map":return t.Type.map(this.convert({typeReference:e.typeReference.key}),this.convert({typeReference:e.typeReference.value}));case"named":{let n=this.context.resolveNamedType({typeId:e.typeReference.value});return n==null?this.convertUnknown():this.convertNamed({named:n})}case"optional":case"nullable":return t.Type.optional(this.convert({typeReference:e.typeReference.value}));case"primitive":return this.convertPrimitive({primitive:e.typeReference.value});case"set":return t.Type.set(this.convert({typeReference:e.typeReference}));case"unknown":return this.convertUnknown();default:r(e.typeReference)}}convertNamed({named:e}){switch(e.type){case"alias":return this.convert({typeReference:e.typeReference});case"enum":case"discriminatedUnion":case"object":case"undiscriminatedUnion":return t.Type.reference(t.classReference({name:this.context.getClassName(e.declaration.name),packageName:this.context.getTypesPackageName(e.declaration.fernFilepath)}));default:r(e)}}convertLiteral({literal:e}){switch(e.type){case"boolean":return t.Type.boolean();case"string":return t.Type.string()}}convertUnknown(){return t.Type.object()}convertPrimitive({primitive:e}){switch(e){case"INTEGER":return t.Type.integer();case"UINT":return t.Type.integer();case"LONG":return t.Type.long();case"UINT_64":return t.Type.long();case"FLOAT":return t.Type.float();case"DOUBLE":return t.Type.double();case"BOOLEAN":return t.Type.boolean();case"STRING":return t.Type.string();case"DATE":return t.Type.date();case"DATE_TIME":return t.Type.dateTime();case"UUID":return t.Type.uuid();case"BASE_64":return t.Type.bytes();case"BIG_INTEGER":return t.Type.bigInteger();default:r(e)}}};export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-PUPEW5QI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/context/DynamicTypeMapper.ts"],"sourcesContent":["import { 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 DynamicTypeMapper {\n interface Args {\n typeReference: FernIr.dynamic.TypeReference;\n }\n}\n\nexport class DynamicTypeMapper {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n this.context = context;\n }\n\n public convert(args: DynamicTypeMapper.Args): java.Type {\n switch (args.typeReference.type) {\n case \"list\":\n return java.Type.list(this.convert({ typeReference: args.typeReference }));\n case \"literal\":\n return this.convertLiteral({ literal: args.typeReference.value });\n case \"map\": {\n return java.Type.map(\n this.convert({ typeReference: args.typeReference.key }),\n this.convert({ typeReference: args.typeReference.value })\n );\n }\n case \"named\": {\n const named = this.context.resolveNamedType({ typeId: args.typeReference.value });\n if (named == null) {\n return this.convertUnknown();\n }\n return this.convertNamed({ named });\n }\n case \"optional\":\n case \"nullable\": {\n return java.Type.optional(this.convert({ typeReference: args.typeReference.value }));\n }\n case \"primitive\":\n return this.convertPrimitive({ primitive: args.typeReference.value });\n case \"set\":\n return java.Type.set(this.convert({ typeReference: args.typeReference }));\n case \"unknown\":\n return this.convertUnknown();\n default:\n assertNever(args.typeReference);\n }\n }\n\n private convertNamed({ named }: { named: FernIr.dynamic.NamedType }): java.Type {\n switch (named.type) {\n case \"alias\":\n return this.convert({ typeReference: named.typeReference });\n case \"enum\":\n case \"discriminatedUnion\":\n case \"object\":\n case \"undiscriminatedUnion\":\n return java.Type.reference(\n java.classReference({\n name: this.context.getClassName(named.declaration.name),\n packageName: this.context.getTypesPackageName(named.declaration.fernFilepath)\n })\n );\n default:\n assertNever(named);\n }\n }\n\n private convertLiteral({ literal }: { literal: FernIr.dynamic.LiteralType }): java.Type {\n switch (literal.type) {\n case \"boolean\":\n return java.Type.boolean();\n case \"string\":\n return java.Type.string();\n }\n }\n\n private convertUnknown(): java.Type {\n return java.Type.object();\n }\n\n private convertPrimitive({ primitive }: { primitive: FernIr.dynamic.PrimitiveTypeV1 }): java.Type {\n switch (primitive) {\n case \"INTEGER\":\n return java.Type.integer();\n case \"UINT\":\n return java.Type.integer();\n case \"LONG\":\n return java.Type.long();\n case \"UINT_64\":\n return java.Type.long();\n case \"FLOAT\":\n return java.Type.float();\n case \"DOUBLE\":\n return java.Type.double();\n case \"BOOLEAN\":\n return java.Type.boolean();\n case \"STRING\":\n return java.Type.string();\n case \"DATE\":\n return java.Type.date();\n case \"DATE_TIME\":\n return java.Type.dateTime();\n case \"UUID\":\n return java.Type.uuid();\n case \"BASE_64\":\n return java.Type.bytes();\n case \"BIG_INTEGER\":\n return java.Type.bigInteger();\n default:\n assertNever(primitive);\n }\n }\n}\n"],"mappings":"qGAAAA,IAAAC,IAYO,IAAMC,EAAN,KAAwB,CAG3B,YAAY,CAAE,QAAAC,CAAQ,EAAiD,CAFvEC,EAAA,KAAQ,WAGJ,KAAK,QAAUD,CACnB,CAEO,QAAQE,EAAyC,CACpD,OAAQA,EAAK,cAAc,KAAM,CAC7B,IAAK,OACD,OAAOC,EAAK,KAAK,KAAK,KAAK,QAAQ,CAAE,cAAeD,EAAK,aAAc,CAAC,CAAC,EAC7E,IAAK,UACD,OAAO,KAAK,eAAe,CAAE,QAASA,EAAK,cAAc,KAAM,CAAC,EACpE,IAAK,MACD,OAAOC,EAAK,KAAK,IACb,KAAK,QAAQ,CAAE,cAAeD,EAAK,cAAc,GAAI,CAAC,EACtD,KAAK,QAAQ,CAAE,cAAeA,EAAK,cAAc,KAAM,CAAC,CAC5D,EAEJ,IAAK,QAAS,CACV,IAAME,EAAQ,KAAK,QAAQ,iBAAiB,CAAE,OAAQF,EAAK,cAAc,KAAM,CAAC,EAChF,OAAIE,GAAS,KACF,KAAK,eAAe,EAExB,KAAK,aAAa,CAAE,MAAAA,CAAM,CAAC,CACtC,CACA,IAAK,WACL,IAAK,WACD,OAAOD,EAAK,KAAK,SAAS,KAAK,QAAQ,CAAE,cAAeD,EAAK,cAAc,KAAM,CAAC,CAAC,EAEvF,IAAK,YACD,OAAO,KAAK,iBAAiB,CAAE,UAAWA,EAAK,cAAc,KAAM,CAAC,EACxE,IAAK,MACD,OAAOC,EAAK,KAAK,IAAI,KAAK,QAAQ,CAAE,cAAeD,EAAK,aAAc,CAAC,CAAC,EAC5E,IAAK,UACD,OAAO,KAAK,eAAe,EAC/B,QACIG,EAAYH,EAAK,aAAa,CACtC,CACJ,CAEQ,aAAa,CAAE,MAAAE,CAAM,EAAmD,CAC5E,OAAQA,EAAM,KAAM,CAChB,IAAK,QACD,OAAO,KAAK,QAAQ,CAAE,cAAeA,EAAM,aAAc,CAAC,EAC9D,IAAK,OACL,IAAK,qBACL,IAAK,SACL,IAAK,uBACD,OAAOD,EAAK,KAAK,UACbA,EAAK,eAAe,CAChB,KAAM,KAAK,QAAQ,aAAaC,EAAM,YAAY,IAAI,EACtD,YAAa,KAAK,QAAQ,oBAAoBA,EAAM,YAAY,YAAY,CAChF,CAAC,CACL,EACJ,QACIC,EAAYD,CAAK,CACzB,CACJ,CAEQ,eAAe,CAAE,QAAAE,CAAQ,EAAuD,CACpF,OAAQA,EAAQ,KAAM,CAClB,IAAK,UACD,OAAOH,EAAK,KAAK,QAAQ,EAC7B,IAAK,SACD,OAAOA,EAAK,KAAK,OAAO,CAChC,CACJ,CAEQ,gBAA4B,CAChC,OAAOA,EAAK,KAAK,OAAO,CAC5B,CAEQ,iBAAiB,CAAE,UAAAI,CAAU,EAA6D,CAC9F,OAAQA,EAAW,CACf,IAAK,UACD,OAAOJ,EAAK,KAAK,QAAQ,EAC7B,IAAK,OACD,OAAOA,EAAK,KAAK,QAAQ,EAC7B,IAAK,OACD,OAAOA,EAAK,KAAK,KAAK,EAC1B,IAAK,UACD,OAAOA,EAAK,KAAK,KAAK,EAC1B,IAAK,QACD,OAAOA,EAAK,KAAK,MAAM,EAC3B,IAAK,SACD,OAAOA,EAAK,KAAK,OAAO,EAC5B,IAAK,UACD,OAAOA,EAAK,KAAK,QAAQ,EAC7B,IAAK,SACD,OAAOA,EAAK,KAAK,OAAO,EAC5B,IAAK,OACD,OAAOA,EAAK,KAAK,KAAK,EAC1B,IAAK,YACD,OAAOA,EAAK,KAAK,SAAS,EAC9B,IAAK,OACD,OAAOA,EAAK,KAAK,KAAK,EAC1B,IAAK,UACD,OAAOA,EAAK,KAAK,MAAM,EAC3B,IAAK,cACD,OAAOA,EAAK,KAAK,WAAW,EAChC,QACIE,EAAYE,CAAS,CAC7B,CACJ,CACJ","names":["init_process","init_buffer","DynamicTypeMapper","context","__publicField","args","java_exports","named","assertNever","literal","primitive"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as l}from"./chunk-3LOINSB3.js";import{a as s,d as n}from"./chunk-3JSOCWNQ.js";import{j as c,l as u,n as p}from"./chunk-E6GFFTKW.js";u();p();var d=class{constructor({context:e}){c(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:l.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});case"literal":return this.convertLiteral({literal:e.typeReference.value,value:e.value});case"map":return this.convertMap({map:e.typeReference,value:e.value});case"named":{let t=this.context.resolveNamedType({typeId:e.typeReference.value});return t==null?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});case"unknown":return this.convertUnknown({value:e.value});default:s(e.typeReference)}}convertList({list:e,value:t}){if(!Array.isArray(t))return this.context.errors.add({severity:l.Critical,message:`Expected array but got: ${typeof t}`}),n.TypeLiteral.nop();let i=e.type==="optional"||e.type==="nullable";return n.TypeLiteral.list({valueType:this.context.dynamicTypeMapper.convert({typeReference:e}),values:t.map((r,a)=>{this.context.errors.scope({index:a});try{if(i){let o=this.convert({typeReference:e.value,value:r});return this.wrapInOptionalIfNotNop(o,!0)}return this.convert({typeReference:e,value:r})}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:s(e)}}convertSet({set:e,value:t}){return Array.isArray(t)?n.TypeLiteral.set({valueType:this.context.dynamicTypeMapper.convert({typeReference:e}),values:t.map((i,r)=>{this.context.errors.scope({index:r});try{return this.convert({typeReference:e,value:i})}finally{this.context.errors.unscope()}})}):(this.context.errors.add({severity:l.Critical,message:`Expected array but got: ${typeof t}`}),n.TypeLiteral.nop())}convertMap({map:e,value:t}){return typeof t!="object"||t==null?(this.context.errors.add({severity:l.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(([i,r])=>{this.context.errors.scope(i);try{return{key:this.convert({typeReference:e.key,value:i,as:"mapKey"}),value:this.convert({typeReference:e.value,value:r,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:s(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:s(a)}}convertObject({object_:e,value:t,as:i}){var a;let r=this.context.associateByWireValue({parameters:e.properties,values:(a=this.context.getRecord(t))!=null?a:{}});return n.TypeLiteral.builder({classReference:this.context.getJavaClassReferenceFromDeclaration({declaration:e.declaration}),parameters:r.map(o=>{this.context.errors.scope(o.name.wireValue);try{return{name:this.context.getMethodName(o.name.name),value:this.convert({typeReference:o.typeReference,value:o.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:l.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:l.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}){for(let i of e.types)try{let r=this.convert({typeReference:i,value:t,inUndiscriminatedUnion:!0});return{valueTypeReference:i,typeInstantiation:r}}catch(r){continue}this.context.errors.add({severity:l.Critical,message:`None of the types in the undiscriminated union matched the given "${typeof t}" value`})}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:s(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:s(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:s(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{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-SQKACQJK.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\";\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 });\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 });\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 });\n case \"unknown\":\n return this.convertUnknown({ value: args.value });\n default:\n assertNever(args.typeReference);\n }\n }\n\n private convertList({ list, value }: { list: FernIr.dynamic.TypeReference; value: unknown }): 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 });\n return this.wrapInOptionalIfNotNop(itemValue, true);\n }\n return this.convert({ typeReference: list, value: v });\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({ set, value }: { set: FernIr.dynamic.TypeReference; value: unknown }): 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 });\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertMap({ map, value }: { map: FernIr.dynamic.MapType; value: unknown }): 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({ typeReference: map.value, value, as: \"mapValue\" })\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 return java.TypeLiteral.builder({\n classReference: this.context.getJavaClassReferenceFromDeclaration({\n declaration: object_.declaration\n }),\n parameters: properties.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 for (const typeReference of undiscriminatedUnion.types) {\n try {\n const typeInstantiation = this.convert({\n typeReference,\n value,\n inUndiscriminatedUnion: true\n });\n\n return { valueTypeReference: typeReference, typeInstantiation };\n } catch (e) {\n continue;\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`\n });\n return undefined;\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","isItemOptional","v","index","itemValue","literal","bool","str","set","map","key","as","inUndiscriminatedUnion","discriminatedUnion","classReference","discriminatedUnionTypeInstance","unionVariant","record","object_","properties","property","enum_","name","enumValue","undiscriminatedUnion","result","typeReference","typeInstantiation","e","fieldName","keyFieldName","valueFieldName","_literal","primitive","num","date","dateTime","uuid","base64","bigInt"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Config.ts"],"sourcesContent":["// Config for the Java dynamic snippets generator\nexport interface Config {\n // Controls the name of the class that is generated for the full style.\n // By default, the class is named \"Example\", i.e.\n //\n // package com.example.usage;\n //\n // class Example {\n // public static void do() {\n // var client = new Client();\n // ...\n // }\n // }\n fullStyleClassName?: string;\n fullStylePackageName?: string;\n}\n"],"mappings":"+CAAAA,IAAAC","names":["init_process","init_buffer"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as h,d as f,e as d}from"./chunk-3LOINSB3.js";import{a as y,d as a}from"./chunk-3JSOCWNQ.js";import{j as v,l as R,n as x}from"./chunk-E6GFFTKW.js";R();x();var F="com.example.usage",A="Example",q="main",C="args",I="client",b={type:"primitive",value:"STRING"},B=class{constructor({context:e,formatter:t}){v(this,"context");v(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:F,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:F,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 f.Concise:return n;case f.Full:return this.buildFullCodeBlock({body:n,options:r});default:y(s)}}constructClient({endpoint:e,snippet:t}){return a.codeblock(r=>{r.writeNode(this.context.getRootClientClassReference()),r.write(` ${I} = `),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:A,access:a.Access.Public}),s=a.parameter({name:C,type:a.Type.array(a.Type.string())});return n.addMethod(a.method({name:q,access:a.Access.Public,static_:!0,parameters:[s],body:e})),n}getRootClientBuilderArgs({endpoint:e,snippet:t}){var u,l;let r=[];e.auth!=null&&(t.auth!=null?r.push(...this.getRootClientAuthArgs({auth:e.auth,values:t.auth})):this.context.errors.add({severity:h.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(d.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([...(u=this.context.ir.pathParameters)!=null?u:[],...(l=e.request.pathParameters)!=null?l:[]].forEach(o=>{o.variable!=null&&s.add(o.variable)}),this.context.ir.variables!=null&&this.context.ir.variables.length>0){for(let o of this.context.ir.variables)if(s.has(o.id)){let c=o.name.camelCase.unsafeName;r.push({name:c,value:a.TypeLiteral.string(`YOUR_${o.name.screamingSnakeCase.unsafeName}`)})}}return r}getRootClientBaseUrlArg({baseUrl:e,environment:t}){var r;if(e!=null&&t!=null){this.context.errors.add({severity:h.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:h.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:h.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:b,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:y(e)}}addError(e){this.context.errors.add({severity:h.Critical,message:e})}addWarning(e){this.context.errors.add({severity:h.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(I),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:y(e.request)}}getMethodArgsForBodyRequest({request:e,snippet:t}){var u,l;let r=[];this.context.errors.scope(d.PathParameters);let s=[...(u=this.context.ir.pathParameters)!=null?u:[],...(l=e.pathParameters)!=null?l:[]].filter(o=>o.variable==null);s.length>0&&r.push(...this.getPathParameters({namedParameters:s,snippet:t}).map(o=>o.value)),this.context.errors.unscope(),this.context.errors.scope(d.RequestBody),e.body!=null&&r.push(this.getBodyRequestArg({body:e.body,value:t.requestBody})),this.context.errors.unscope();let i=this.getRequestOptionsArg({request:e,snippet:t});return i!=null&&r.push(i),r}getBodyRequestArg({body:e,value:t}){switch(e.type){case"bytes":return this.getBytesBodyRequestArg({value:t});case"typeReference":return e.value.type==="optional"?t==null?a.TypeLiteral.reference(a.invokeMethod({on:a.classReference({name:"Optional",packageName:"java.util"}),method:"empty",arguments_:[]})):a.TypeLiteral.optional({value:this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value.value,value:t}),useOf:!0}):this.context.dynamicTypeLiteralMapper.convert({typeReference:e.value,value:t});default:y(e)}}getBytesBodyRequestArg({value:e}){return typeof e!="string"?(this.context.errors.add({severity:h.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,p;let r=[],{inlinePathParameters:n,inlineFileProperties:s}={inlinePathParameters:this.context.shouldInlinePathParameters(),inlineFileProperties:this.context.shouldInlineFileProperties()};this.context.errors.scope(d.PathParameters);let i=[],l=[...(c=this.context.ir.pathParameters)!=null?c:[],...(p=e.pathParameters)!=null?p:[]].filter(m=>m.variable==null);l.length>0&&i.push(...this.getPathParameters({namedParameters:l,snippet:t})),this.context.errors.unscope(),this.context.errors.scope(d.RequestBody);let o=this.getFilePropertyInfo({request:e,snippet:t});return this.context.errors.unscope(),this.context.includePathParametersInWrappedRequest({request:e,inlinePathParameters:n})||r.push(...i.map(m=>m.value)),s||r.push(...o.fileFields.map(m=>m.value)),r.push(this.getInlinedRequestArg({request:e,snippet:t,pathParameterFields:this.context.includePathParametersInWrappedRequest({request:e,inlinePathParameters:n})?i:[],filePropertyInfo:o})),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 c,p,m,P;this.context.errors.scope(d.QueryParameters);let i=this.context.associateQueryParametersByWireValue({parameters:(c=e.queryParameters)!=null?c:[],values:(p=t.queryParameters)!=null?p:{}}).map(g=>({name:this.context.getMethodName(g.name.name),value:this.context.dynamicTypeLiteralMapper.convert(g)}));this.context.errors.unscope(),this.context.errors.scope(d.Headers);let l=this.context.associateByWireValue({parameters:(m=e.headers)!=null?m:[],values:(P=t.headers)!=null?P:{}}).map(g=>({name:this.context.getMethodName(g.name.name),value:this.context.dynamicTypeLiteralMapper.convert(g)}));this.context.errors.unscope(),this.context.errors.scope(d.RequestBody);let o=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,...l,...i,...o]})}getRequestOptionsArg({request:e,snippet:t}){var l,o,c;let r="headers"in e?(l=e.headers)!=null?l:[]:[];if(r.length===0||Object.keys((o=t.headers)!=null?o:{}).length===0)return;this.context.errors.scope(d.Headers);let n=this.context.associateByWireValue({parameters:r,values:(c=t.headers)!=null?c:{}});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 p of n)i=a.invokeMethod({on:i,method:"addHeader",arguments_:[a.TypeLiteral.string(p.name.wireValue),this.context.dynamicTypeLiteralMapper.convert(p)]});let u=a.invokeMethod({on:i,method:"build",arguments_:[]});return a.TypeLiteral.reference(u)}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:y(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});default:y(e)}}getInlinedRequestBodyPropertyBuilderParameters({parameters:e,value:t}){var s;let r=[],n=this.context.associateByWireValue({parameters:e,values:(s=this.context.getRecord(t))!=null?s:{}});for(let i of n)r.push({name:this.context.getMethodName(i.name.name),value:this.context.dynamicTypeLiteralMapper.convert(i)});return r}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:f.Full}getConfig(e){var t,r;return(r=(t=e.config)!=null?t:this.context.options.config)!=null?r:{}}};export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZYVZJBJN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/EndpointSnippetGenerator.ts"],"sourcesContent":["import { AbstractFormatter, Options, Scope, Severity, Style } 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 { Config } from \"./Config\";\nimport { DynamicSnippetsGeneratorContext } from \"./context/DynamicSnippetsGeneratorContext\";\nimport { FilePropertyInfo } from \"./context/FilePropertyMapper\";\n\nconst SNIPPET_PACKAGE_NAME = \"com.example.usage\";\nconst SNIPPET_CLASS_NAME = \"Example\";\nconst SNIPPET_METHOD_NAME = \"main\";\nconst SNIPPET_METHOD_ARG = \"args\";\nconst CLIENT_VAR_NAME = \"client\";\nconst STRING_TYPE_REFERENCE: FernIr.dynamic.TypeReference = {\n type: \"primitive\",\n value: \"STRING\"\n};\n\nexport class EndpointSnippetGenerator {\n private context: DynamicSnippetsGeneratorContext;\n private formatter: AbstractFormatter | undefined;\n\n constructor({ context, formatter }: { context: DynamicSnippetsGeneratorContext; formatter?: AbstractFormatter }) {\n this.context = context;\n this.formatter = formatter;\n }\n\n public async generateSnippet({\n endpoint,\n request,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n options: Options;\n }): Promise<string> {\n const config = this.getConfig(options);\n const code = this.buildCodeBlock({ endpoint, snippet: request, options });\n return await code.toStringAsync({\n packageName: config.fullStylePackageName ?? SNIPPET_PACKAGE_NAME,\n customConfig: this.context.customConfig,\n formatter: this.formatter\n });\n }\n\n public generateSnippetSync({\n endpoint,\n request,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n request: FernIr.dynamic.EndpointSnippetRequest;\n options: Options;\n }): string {\n const config = this.getConfig(options);\n const code = this.buildCodeBlock({ endpoint, snippet: request, options });\n return code.toString({\n packageName: config.fullStylePackageName ?? SNIPPET_PACKAGE_NAME,\n customConfig: this.context.customConfig,\n formatter: this.formatter\n });\n }\n\n private buildCodeBlock({\n endpoint,\n snippet,\n options\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n options: Options;\n }): java.AstNode {\n const body = java.codeblock((writer) => {\n writer.writeNodeStatement(this.constructClient({ endpoint, snippet }));\n writer.newLine();\n writer.writeNodeStatement(this.callMethod({ endpoint, snippet }));\n });\n const style = this.getStyle(options);\n switch (style) {\n case Style.Concise:\n return body;\n case Style.Full:\n return this.buildFullCodeBlock({ body, options });\n default:\n assertNever(style);\n }\n }\n\n private constructClient({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.CodeBlock {\n return java.codeblock((writer) => {\n writer.writeNode(this.context.getRootClientClassReference());\n writer.write(` ${CLIENT_VAR_NAME} = `);\n writer.writeNode(\n java.TypeLiteral.builder({\n classReference: this.context.getRootClientClassReference(),\n parameters: this.getRootClientBuilderArgs({ endpoint, snippet })\n })\n );\n });\n }\n\n private buildFullCodeBlock({ body, options }: { body: java.CodeBlock; options: Options }): java.AstNode {\n const config = this.getConfig(options);\n const class_ = java.class_({\n name: config.fullStyleClassName ?? SNIPPET_CLASS_NAME,\n access: java.Access.Public\n });\n const stringArgs = java.parameter({\n name: SNIPPET_METHOD_ARG,\n type: java.Type.array(java.Type.string())\n });\n class_.addMethod(\n java.method({\n name: SNIPPET_METHOD_NAME,\n access: java.Access.Public,\n static_: true,\n parameters: [stringArgs],\n body\n })\n );\n return class_;\n }\n\n private getRootClientBuilderArgs({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.BuilderParameter[] {\n const builderArgs: java.BuilderParameter[] = [];\n if (endpoint.auth != null) {\n if (snippet.auth != null) {\n builderArgs.push(...this.getRootClientAuthArgs({ auth: endpoint.auth, values: snippet.auth }));\n } else {\n this.context.errors.add({\n severity: Severity.Warning,\n message: `Auth with ${endpoint.auth.type} configuration is required for this endpoint`\n });\n }\n }\n const baseUrlArg = this.getRootClientBaseUrlArg({\n baseUrl: snippet.baseURL,\n environment: snippet.environment\n });\n if (baseUrlArg != null) {\n builderArgs.push(baseUrlArg);\n }\n this.context.errors.scope(Scope.Headers);\n if (this.context.ir.headers != null && snippet.headers != null) {\n builderArgs.push(\n ...this.getRootClientHeaderArgs({ headers: this.context.ir.headers, values: snippet.headers })\n );\n }\n this.context.errors.unscope();\n\n const usedVariables = new Set<string>();\n const allPathParams = [...(this.context.ir.pathParameters ?? []), ...(endpoint.request.pathParameters ?? [])];\n\n allPathParams.forEach((param) => {\n if (param.variable != null) {\n usedVariables.add(param.variable);\n }\n });\n\n if (this.context.ir.variables != null && this.context.ir.variables.length > 0) {\n for (const variable of this.context.ir.variables) {\n if (usedVariables.has(variable.id)) {\n const variableName = variable.name.camelCase.unsafeName;\n builderArgs.push({\n name: variableName,\n value: java.TypeLiteral.string(`YOUR_${variable.name.screamingSnakeCase.unsafeName}`)\n });\n }\n }\n }\n return builderArgs;\n }\n\n private getRootClientBaseUrlArg({\n baseUrl,\n environment\n }: {\n baseUrl: string | undefined;\n environment: FernIr.dynamic.EnvironmentValues | undefined;\n }): java.BuilderParameter | undefined {\n if (baseUrl != null && environment != null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"Cannot specify both baseUrl and environment options\"\n });\n return undefined;\n }\n if (baseUrl != null) {\n if (this.context.ir.environments?.environments.type === \"multipleBaseUrls\") {\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"The Java SDK doesn't support a baseUrl when multiple URL environments are configured\"\n });\n return undefined;\n }\n return {\n name: \"url\",\n value: java.TypeLiteral.string(baseUrl)\n };\n }\n if (environment != null) {\n if (this.context.isSingleEnvironmentID(environment)) {\n const classReference = this.context.getEnvironmentTypeReferenceFromID(environment);\n if (classReference == null) {\n this.context.errors.add({\n severity: Severity.Warning,\n message: `Environment ${JSON.stringify(environment)} was not found`\n });\n return undefined;\n }\n return {\n name: \"environment\",\n value: java.TypeLiteral.reference(classReference)\n };\n }\n if (this.context.isMultiEnvironmentValues(environment)) {\n if (!this.context.validateMultiEnvironmentUrlValues(environment)) {\n return undefined;\n }\n return {\n name: \"environment\",\n value: java.TypeLiteral.reference(\n java.instantiateClass({\n classReference: this.context.getEnvironmentClassReference(),\n arguments_: Object.values(environment).map((value) =>\n this.context.dynamicTypeLiteralMapper.convert({\n typeReference: STRING_TYPE_REFERENCE,\n value\n })\n )\n })\n )\n };\n }\n }\n return undefined;\n }\n\n private getRootClientAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.Auth;\n values: FernIr.dynamic.AuthValues;\n }): java.BuilderParameter[] {\n if (values.type !== auth.type) {\n this.addError(this.context.newAuthMismatchError({ auth, values }).message);\n return [];\n }\n switch (auth.type) {\n case \"basic\":\n return values.type === \"basic\" ? this.getRootClientBasicAuthArgs({ auth, values }) : [];\n case \"bearer\":\n return values.type === \"bearer\" ? this.getRootClientBearerAuthArgs({ auth, values }) : [];\n case \"header\":\n return values.type === \"header\" ? this.getRootClientHeaderAuthArgs({ auth, values }) : [];\n case \"oauth\":\n return values.type === \"oauth\" ? this.getRootClientOAuthArgs({ auth, values }) : [];\n case \"inferred\":\n this.addWarning(\"The Java SDK Generator does not support Inferred auth scheme yet\");\n return [];\n default:\n assertNever(auth);\n }\n }\n\n private addError(message: string): void {\n this.context.errors.add({ severity: Severity.Critical, message });\n }\n\n private addWarning(message: string): void {\n this.context.errors.add({ severity: Severity.Warning, message });\n }\n\n private getRootClientBasicAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.BasicAuth;\n values: FernIr.dynamic.BasicAuthValues;\n }): java.BuilderParameter[] {\n return [\n {\n name: \"credentials\",\n value: java.TypeLiteral.raw(`\"${values.username}\", \"${values.password}\"`)\n }\n ];\n }\n\n private getRootClientBearerAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.BearerAuth;\n values: FernIr.dynamic.BearerAuthValues;\n }): java.BuilderParameter[] {\n return [\n {\n name: this.context.getMethodName(auth.token),\n value: java.TypeLiteral.string(values.token)\n }\n ];\n }\n\n private getRootClientHeaderAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.HeaderAuth;\n values: FernIr.dynamic.HeaderAuthValues;\n }): java.BuilderParameter[] {\n return [\n {\n name: this.context.getMethodName(auth.header.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert({\n typeReference: auth.header.typeReference,\n value: values.value\n })\n }\n ];\n }\n\n private getRootClientOAuthArgs({\n auth,\n values\n }: {\n auth: FernIr.dynamic.OAuth;\n values: FernIr.dynamic.OAuthValues;\n }): java.BuilderParameter[] {\n return [\n {\n name: this.context.getMethodName(auth.clientId),\n value: java.TypeLiteral.string(values.clientId)\n },\n {\n name: this.context.getMethodName(auth.clientSecret),\n value: java.TypeLiteral.string(values.clientSecret)\n }\n ];\n }\n\n private getRootClientHeaderArgs({\n headers,\n values\n }: {\n headers: FernIr.dynamic.NamedParameter[];\n values: FernIr.dynamic.Values;\n }): java.BuilderParameter[] {\n const args: java.BuilderParameter[] = [];\n for (const header of headers) {\n const arg = this.getRootClientHeaderArg({ header, value: values.value });\n if (arg != null) {\n args.push({\n name: this.context.getMethodName(header.name.name),\n value: arg\n });\n }\n }\n return args;\n }\n\n private getRootClientHeaderArg({\n header,\n value\n }: {\n header: FernIr.dynamic.NamedParameter;\n value: unknown;\n }): java.TypeLiteral | undefined {\n const typeLiteral = this.context.dynamicTypeLiteralMapper.convert({\n typeReference: header.typeReference,\n value\n });\n if (java.TypeLiteral.isNop(typeLiteral)) {\n // Literal header values (e.g. \"X-API-Version\") should not be included in the\n // client constructor.\n return undefined;\n }\n return typeLiteral;\n }\n\n private callMethod({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.MethodInvocation {\n return java.invokeMethod({\n on: java.codeblock(CLIENT_VAR_NAME),\n method: this.getMethod({ endpoint }),\n arguments_: this.getMethodArgs({ endpoint, snippet })\n });\n }\n\n private getMethodArgs({\n endpoint,\n snippet\n }: {\n endpoint: FernIr.dynamic.Endpoint;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.TypeLiteral[] {\n switch (endpoint.request.type) {\n case \"inlined\":\n return this.getMethodArgsForInlinedRequest({ request: endpoint.request, snippet });\n case \"body\":\n return this.getMethodArgsForBodyRequest({ request: endpoint.request, snippet });\n default:\n assertNever(endpoint.request);\n }\n }\n\n private getMethodArgsForBodyRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.BodyRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.TypeLiteral[] {\n const args: java.TypeLiteral[] = [];\n\n this.context.errors.scope(Scope.PathParameters);\n // Only include path parameters that don't reference variables\n // Variables are configured at client level, not passed as method args\n const allPathParams = [...(this.context.ir.pathParameters ?? []), ...(request.pathParameters ?? [])];\n\n const pathParameters = allPathParams.filter((param) => param.variable == null);\n if (pathParameters.length > 0) {\n args.push(\n ...this.getPathParameters({ namedParameters: pathParameters, snippet }).map((field) => field.value)\n );\n }\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.RequestBody);\n if (request.body != null) {\n args.push(this.getBodyRequestArg({ body: request.body, value: snippet.requestBody }));\n }\n this.context.errors.unscope();\n\n // For body requests, headers are passed via RequestOptions\n const requestOptionsArg = this.getRequestOptionsArg({ request, snippet });\n if (requestOptionsArg != null) {\n args.push(requestOptionsArg);\n }\n\n return args;\n }\n\n private getBodyRequestArg({\n body,\n value\n }: {\n body: FernIr.dynamic.ReferencedRequestBodyType;\n value: unknown;\n }): java.TypeLiteral {\n switch (body.type) {\n case \"bytes\": {\n return this.getBytesBodyRequestArg({ value });\n }\n case \"typeReference\": {\n if (body.value.type === \"optional\") {\n // TODO(amckinney): This endpoint defines an optional request body, so the\n // Java SDK requires the Optional.of(...) wrapper.\n //\n // We should fix the generator to permit the non-Optional type and\n // remove this special case.\n\n // Check if value is undefined/null and use Optional.empty() in that case\n if (value === undefined || value === null) {\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 return java.TypeLiteral.optional({\n value: this.context.dynamicTypeLiteralMapper.convert({\n typeReference: body.value.value,\n value\n }),\n useOf: true\n });\n }\n return this.context.dynamicTypeLiteralMapper.convert({ typeReference: body.value, value });\n }\n default:\n assertNever(body);\n }\n }\n\n private getBytesBodyRequestArg({ value }: { value: unknown }): java.TypeLiteral {\n if (typeof value !== \"string\") {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected bytes value to be a string, got ${typeof value}`\n });\n return java.TypeLiteral.nop();\n }\n return java.TypeLiteral.bytes(value as string);\n }\n\n private getMethodArgsForInlinedRequest({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.TypeLiteral[] {\n const args: java.TypeLiteral[] = [];\n\n const { inlinePathParameters, inlineFileProperties } = {\n inlinePathParameters: this.context.shouldInlinePathParameters(),\n inlineFileProperties: this.context.shouldInlineFileProperties()\n };\n\n this.context.errors.scope(Scope.PathParameters);\n const pathParameterFields: java.BuilderParameter[] = [];\n // Combine global and request path parameters, then filter out those with variables\n const allPathParams = [...(this.context.ir.pathParameters ?? []), ...(request.pathParameters ?? [])];\n const nonVariablePathParams = allPathParams.filter((param) => param.variable == null);\n if (nonVariablePathParams.length > 0) {\n pathParameterFields.push(...this.getPathParameters({ namedParameters: nonVariablePathParams, snippet }));\n }\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.RequestBody);\n const filePropertyInfo = this.getFilePropertyInfo({ request, snippet });\n this.context.errors.unscope();\n\n if (\n !this.context.includePathParametersInWrappedRequest({\n request,\n inlinePathParameters\n })\n ) {\n args.push(...pathParameterFields.map((field) => field.value));\n }\n\n // For now, the Java SDK always includes file properties as positional parameters.\n if (!inlineFileProperties) {\n args.push(...filePropertyInfo.fileFields.map((field) => field.value));\n }\n\n // For now, the Java SDK always requires the inlined request parameter.\n args.push(\n this.getInlinedRequestArg({\n request,\n snippet,\n pathParameterFields: this.context.includePathParametersInWrappedRequest({\n request,\n inlinePathParameters\n })\n ? pathParameterFields\n : [],\n filePropertyInfo\n })\n );\n\n return args;\n }\n\n private getFilePropertyInfo({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): FilePropertyInfo {\n if (request.body == null || !this.context.isFileUploadRequestBody(request.body)) {\n return {\n fileFields: [],\n bodyPropertyFields: []\n };\n }\n return this.context.filePropertyMapper.getFilePropertyInfo({\n body: request.body,\n value: snippet.requestBody\n });\n }\n\n private getInlinedRequestArg({\n request,\n snippet,\n pathParameterFields,\n filePropertyInfo\n }: {\n request: FernIr.dynamic.InlinedRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n pathParameterFields: java.BuilderParameter[];\n filePropertyInfo: FilePropertyInfo;\n }): java.TypeLiteral {\n this.context.errors.scope(Scope.QueryParameters);\n const queryParameters = this.context.associateQueryParametersByWireValue({\n parameters: request.queryParameters ?? [],\n values: snippet.queryParameters ?? {}\n });\n const queryParameterFields = queryParameters.map((queryParameter) => ({\n name: this.context.getMethodName(queryParameter.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert(queryParameter)\n }));\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.Headers);\n const headers = this.context.associateByWireValue({\n parameters: request.headers ?? [],\n values: snippet.headers ?? {}\n });\n const headerFields = headers.map((header) => ({\n name: this.context.getMethodName(header.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert(header)\n }));\n this.context.errors.unscope();\n\n this.context.errors.scope(Scope.RequestBody);\n const requestBodyFields =\n request.body != null\n ? this.getInlinedRequestBodyBuilderParameters({\n body: request.body,\n value: snippet.requestBody,\n filePropertyInfo\n })\n : [];\n this.context.errors.unscope();\n\n return java.TypeLiteral.builder({\n classReference: java.classReference({\n name: this.context.getClassName(request.declaration.name),\n packageName: this.context.getRequestsPackageName(request.declaration.fernFilepath)\n }),\n parameters: [...pathParameterFields, ...headerFields, ...queryParameterFields, ...requestBodyFields]\n });\n }\n\n private getRequestOptionsArg({\n request,\n snippet\n }: {\n request: FernIr.dynamic.InlinedRequest | FernIr.dynamic.BodyRequest;\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.TypeLiteral | undefined {\n const requestHeaders = \"headers\" in request ? (request.headers ?? []) : [];\n\n if (requestHeaders.length === 0 || Object.keys(snippet.headers ?? {}).length === 0) {\n return undefined;\n }\n\n this.context.errors.scope(Scope.Headers);\n const headers = this.context.associateByWireValue({\n parameters: requestHeaders,\n values: snippet.headers ?? {}\n });\n this.context.errors.unscope();\n\n if (headers.length === 0) {\n return undefined;\n }\n\n const requestOptionsClass = java.classReference({\n name: \"RequestOptions\",\n packageName: this.context.getCorePackageName()\n });\n\n let builderChain: java.AstNode = java.invokeMethod({\n on: requestOptionsClass,\n method: \"builder\",\n arguments_: []\n });\n\n for (const header of headers) {\n builderChain = java.invokeMethod({\n on: builderChain,\n method: \"addHeader\",\n arguments_: [\n java.TypeLiteral.string(header.name.wireValue),\n this.context.dynamicTypeLiteralMapper.convert(header)\n ]\n });\n }\n\n const buildMethodCall = java.invokeMethod({\n on: builderChain,\n method: \"build\",\n arguments_: []\n });\n\n return java.TypeLiteral.reference(buildMethodCall);\n }\n\n private getInlinedRequestBodyBuilderParameters({\n body,\n value,\n filePropertyInfo\n }: {\n body: FernIr.dynamic.InlinedRequestBody;\n value: unknown;\n filePropertyInfo: FilePropertyInfo;\n }): java.BuilderParameter[] {\n switch (body.type) {\n case \"properties\":\n return this.getInlinedRequestBodyPropertyBuilderParameters({ parameters: body.value, value });\n case \"referenced\":\n return [this.getReferencedRequestBodyPropertyBuilderParameter({ body, value })];\n case \"fileUpload\":\n return this.getFileUploadRequestBodyBuilderParameters({ filePropertyInfo });\n default:\n assertNever(body);\n }\n }\n\n private getFileUploadRequestBodyBuilderParameters({\n filePropertyInfo\n }: {\n filePropertyInfo: FilePropertyInfo;\n }): java.BuilderParameter[] {\n if (this.context.shouldInlineFileProperties()) {\n return [...filePropertyInfo.fileFields, ...filePropertyInfo.bodyPropertyFields];\n }\n return filePropertyInfo.bodyPropertyFields;\n }\n\n private getReferencedRequestBodyPropertyBuilderParameter({\n body,\n value\n }: {\n body: FernIr.dynamic.ReferencedRequestBody;\n value: unknown;\n }): java.BuilderParameter {\n return {\n name: this.context.getMethodName(body.bodyKey),\n value: this.getReferencedRequestBodyPropertyTypeLiteral({ body: body.bodyType, value })\n };\n }\n\n private getReferencedRequestBodyPropertyTypeLiteral({\n body,\n value\n }: {\n body: FernIr.dynamic.ReferencedRequestBodyType;\n value: unknown;\n }): java.TypeLiteral {\n switch (body.type) {\n case \"bytes\":\n return this.getBytesBodyRequestArg({ value });\n case \"typeReference\":\n return this.context.dynamicTypeLiteralMapper.convert({ typeReference: body.value, value });\n default:\n assertNever(body);\n }\n }\n\n private getInlinedRequestBodyPropertyBuilderParameters({\n parameters,\n value\n }: {\n parameters: FernIr.dynamic.NamedParameter[];\n value: unknown;\n }): java.BuilderParameter[] {\n const fields: java.BuilderParameter[] = [];\n\n const bodyProperties = this.context.associateByWireValue({\n parameters,\n values: this.context.getRecord(value) ?? {}\n });\n for (const parameter of bodyProperties) {\n fields.push({\n name: this.context.getMethodName(parameter.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert(parameter)\n });\n }\n\n return fields;\n }\n\n private getPathParameters({\n namedParameters,\n snippet\n }: {\n namedParameters: FernIr.dynamic.NamedParameter[];\n snippet: FernIr.dynamic.EndpointSnippetRequest;\n }): java.BuilderParameter[] {\n const args: java.BuilderParameter[] = [];\n const pathParameters = this.context.associateByWireValue({\n parameters: namedParameters,\n values: snippet.pathParameters ?? {}\n });\n for (const parameter of pathParameters) {\n args.push({\n name: this.context.getMethodName(parameter.name.name),\n value: this.context.dynamicTypeLiteralMapper.convert(parameter)\n });\n }\n return args;\n }\n\n private getMethod({ endpoint }: { endpoint: FernIr.dynamic.Endpoint }): string {\n if (endpoint.declaration.fernFilepath.allParts.length > 0) {\n return `${endpoint.declaration.fernFilepath.allParts\n .map((val) => `${this.context.getMethodName(val)}()`)\n .join(\".\")}.${this.context.getMethodName(endpoint.declaration.name)}`;\n }\n return this.context.getMethodName(endpoint.declaration.name);\n }\n\n private getStyle(options: Options): Style {\n return options.style ?? this.context.options.style ?? Style.Full;\n }\n\n private getConfig(options: Options): Config {\n return options.config ?? this.context.options.config ?? {};\n }\n}\n"],"mappings":"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","names":["init_process","init_buffer","SNIPPET_PACKAGE_NAME","SNIPPET_CLASS_NAME","SNIPPET_METHOD_NAME","SNIPPET_METHOD_ARG","CLIENT_VAR_NAME","STRING_TYPE_REFERENCE","EndpointSnippetGenerator","context","formatter","__publicField","endpoint","request","options","_a","config","snippet","body","java_exports","writer","style","Style","assertNever","class_","stringArgs","_b","builderArgs","Severity","baseUrlArg","Scope","usedVariables","param","variable","variableName","baseUrl","environment","classReference","value","auth","values","message","headers","args","header","arg","typeLiteral","pathParameters","field","requestOptionsArg","inlinePathParameters","inlineFileProperties","pathParameterFields","nonVariablePathParams","filePropertyInfo","_c","_d","queryParameterFields","queryParameter","headerFields","requestBodyFields","requestHeaders","requestOptionsClass","builderChain","buildMethodCall","parameters","fields","bodyProperties","parameter","namedParameters","val"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@fern-api/browser-compatible-base-generator';
|
|
2
2
|
import '@fern-api/dynamic-ir-sdk';
|
|
3
3
|
import '@fern-api/java-ast';
|
|
4
|
-
export { D as DynamicSnippetsGeneratorContext } from '../DynamicSnippetsGeneratorContext-
|
|
4
|
+
export { D as DynamicSnippetsGeneratorContext } from '../DynamicSnippetsGeneratorContext-FbVOZ8Go.js';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-JZ2FDMYI.js";import"../chunk-SQKACQJK.js";import"../chunk-3LOINSB3.js";import"../chunk-PUPEW5QI.js";import"../chunk-JZBCQWQN.js";import"../chunk-3JSOCWNQ.js";import"../chunk-E6GFFTKW.js";export{a as DynamicSnippetsGeneratorContext};
|
|
2
|
+
//# sourceMappingURL=DynamicSnippetsGeneratorContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@fern-api/dynamic-ir-sdk';
|
|
2
2
|
import '@fern-api/java-ast';
|
|
3
|
-
export { a as DynamicTypeLiteralMapper } from '../DynamicSnippetsGeneratorContext-
|
|
3
|
+
export { a as DynamicTypeLiteralMapper } from '../DynamicSnippetsGeneratorContext-FbVOZ8Go.js';
|
|
4
4
|
import '@fern-api/browser-compatible-base-generator';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-SQKACQJK.js";import"../chunk-3LOINSB3.js";import"../chunk-3JSOCWNQ.js";import"../chunk-E6GFFTKW.js";export{a as DynamicTypeLiteralMapper};
|
|
2
|
+
//# sourceMappingURL=DynamicTypeLiteralMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@fern-api/dynamic-ir-sdk';
|
|
2
2
|
import '@fern-api/java-ast';
|
|
3
|
-
export { b as DynamicTypeMapper } from '../DynamicSnippetsGeneratorContext-
|
|
3
|
+
export { b as DynamicTypeMapper } from '../DynamicSnippetsGeneratorContext-FbVOZ8Go.js';
|
|
4
4
|
import '@fern-api/browser-compatible-base-generator';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-PUPEW5QI.js";import"../chunk-3JSOCWNQ.js";import"../chunk-E6GFFTKW.js";export{a as DynamicTypeMapper};
|
|
2
|
+
//# sourceMappingURL=DynamicTypeMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@fern-api/dynamic-ir-sdk';
|
|
2
2
|
import '@fern-api/java-ast';
|
|
3
|
-
export { F as FilePropertyInfo, c as FilePropertyMapper } from '../DynamicSnippetsGeneratorContext-
|
|
3
|
+
export { F as FilePropertyInfo, c as FilePropertyMapper } from '../DynamicSnippetsGeneratorContext-FbVOZ8Go.js';
|
|
4
4
|
import '@fern-api/browser-compatible-base-generator';
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-JZBCQWQN.js";import"../chunk-3JSOCWNQ.js";import"../chunk-E6GFFTKW.js";export{a as FilePropertyMapper};
|
|
2
|
+
//# sourceMappingURL=FilePropertyMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/esm/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export { Config } from './Config.js';
|
|
|
2
2
|
export { DynamicSnippetsGenerator } from './DynamicSnippetsGenerator.js';
|
|
3
3
|
import '@fern-api/browser-compatible-base-generator';
|
|
4
4
|
import '@fern-api/dynamic-ir-sdk';
|
|
5
|
-
import './
|
|
6
|
-
import './DynamicSnippetsGeneratorContext-B2BA5MLv.js';
|
|
5
|
+
import './DynamicSnippetsGeneratorContext-FbVOZ8Go.js';
|
|
7
6
|
import '@fern-api/java-ast';
|
|
7
|
+
import './EndpointSnippetGenerator.js';
|