@fern-api/csharp-dynamic-snippets 2.11.2 → 2.11.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.
Files changed (73) hide show
  1. package/dist/index.cjs +122 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/{cjs/DynamicSnippetsGeneratorContext-pehoeH_w.d.cts → dist/index.d.cts} +76 -3
  4. package/{esm/DynamicSnippetsGeneratorContext-pehoeH_w.d.ts → dist/index.d.ts} +76 -3
  5. package/dist/index.js +122 -0
  6. package/dist/index.js.map +1 -0
  7. package/package.json +11 -12
  8. package/cjs/Config.cjs +0 -2
  9. package/cjs/Config.cjs.map +0 -1
  10. package/cjs/Config.d.cts +0 -5
  11. package/cjs/DynamicSnippetsGenerator.cjs +0 -46
  12. package/cjs/DynamicSnippetsGenerator.cjs.map +0 -1
  13. package/cjs/DynamicSnippetsGenerator.d.cts +0 -23
  14. package/cjs/EndpointSnippetGenerator.cjs +0 -45
  15. package/cjs/EndpointSnippetGenerator.cjs.map +0 -1
  16. package/cjs/EndpointSnippetGenerator.d.cts +0 -65
  17. package/cjs/context/DynamicLiteralMapper.cjs +0 -2
  18. package/cjs/context/DynamicLiteralMapper.cjs.map +0 -1
  19. package/cjs/context/DynamicLiteralMapper.d.cts +0 -7
  20. package/cjs/context/DynamicSnippetsGeneratorContext.cjs +0 -33
  21. package/cjs/context/DynamicSnippetsGeneratorContext.cjs.map +0 -1
  22. package/cjs/context/DynamicSnippetsGeneratorContext.d.cts +0 -7
  23. package/cjs/context/DynamicTypeMapper.cjs +0 -2
  24. package/cjs/context/DynamicTypeMapper.cjs.map +0 -1
  25. package/cjs/context/DynamicTypeMapper.d.cts +0 -7
  26. package/cjs/context/FilePropertyMapper.cjs +0 -28
  27. package/cjs/context/FilePropertyMapper.cjs.map +0 -1
  28. package/cjs/context/FilePropertyMapper.d.cts +0 -7
  29. package/cjs/index.cjs +0 -46
  30. package/cjs/index.cjs.map +0 -1
  31. package/cjs/index.d.cts +0 -10
  32. package/esm/Config.d.ts +0 -5
  33. package/esm/Config.js +0 -2
  34. package/esm/Config.js.map +0 -1
  35. package/esm/DynamicSnippetsGenerator.d.ts +0 -23
  36. package/esm/DynamicSnippetsGenerator.js +0 -2
  37. package/esm/DynamicSnippetsGenerator.js.map +0 -1
  38. package/esm/EndpointSnippetGenerator.d.ts +0 -65
  39. package/esm/EndpointSnippetGenerator.js +0 -2
  40. package/esm/EndpointSnippetGenerator.js.map +0 -1
  41. package/esm/chunk-3XDW3MPR.js +0 -2
  42. package/esm/chunk-3XDW3MPR.js.map +0 -1
  43. package/esm/chunk-CEB5TOCF.js +0 -33
  44. package/esm/chunk-CEB5TOCF.js.map +0 -1
  45. package/esm/chunk-DBQMCX7L.js +0 -2
  46. package/esm/chunk-DBQMCX7L.js.map +0 -1
  47. package/esm/chunk-EC2FLIE6.js +0 -15
  48. package/esm/chunk-EC2FLIE6.js.map +0 -1
  49. package/esm/chunk-EUEE2577.js +0 -2
  50. package/esm/chunk-EUEE2577.js.map +0 -1
  51. package/esm/chunk-GEII674B.js +0 -2
  52. package/esm/chunk-GEII674B.js.map +0 -1
  53. package/esm/chunk-KFPJC632.js +0 -2
  54. package/esm/chunk-KFPJC632.js.map +0 -1
  55. package/esm/chunk-KHCIVF5J.js +0 -1
  56. package/esm/chunk-KHCIVF5J.js.map +0 -1
  57. package/esm/chunk-KIW23CQ5.js +0 -2
  58. package/esm/chunk-KIW23CQ5.js.map +0 -1
  59. package/esm/context/DynamicLiteralMapper.d.ts +0 -7
  60. package/esm/context/DynamicLiteralMapper.js +0 -2
  61. package/esm/context/DynamicLiteralMapper.js.map +0 -1
  62. package/esm/context/DynamicSnippetsGeneratorContext.d.ts +0 -7
  63. package/esm/context/DynamicSnippetsGeneratorContext.js +0 -2
  64. package/esm/context/DynamicSnippetsGeneratorContext.js.map +0 -1
  65. package/esm/context/DynamicTypeMapper.d.ts +0 -7
  66. package/esm/context/DynamicTypeMapper.js +0 -2
  67. package/esm/context/DynamicTypeMapper.js.map +0 -1
  68. package/esm/context/FilePropertyMapper.d.ts +0 -7
  69. package/esm/context/FilePropertyMapper.js +0 -2
  70. package/esm/context/FilePropertyMapper.js.map +0 -1
  71. package/esm/index.d.ts +0 -10
  72. package/esm/index.js +0 -2
  73. package/esm/index.js.map +0 -1
@@ -1,65 +0,0 @@
1
- import { Options } from '@fern-api/browser-compatible-base-generator';
2
- import { WithGeneration, ast } from '@fern-api/csharp-codegen';
3
- import { FernIr } from '@fern-api/dynamic-ir-sdk';
4
- import { D as DynamicSnippetsGeneratorContext } from './DynamicSnippetsGeneratorContext-pehoeH_w.cjs';
5
- import '@fern-api/csharp-codegen/lib/ast';
6
- import '@fern-api/csharp-codegen/lib/ast/types/Type';
7
- import '@fern-api/csharp-codegen/lib/context/model-navigator';
8
-
9
- declare class EndpointSnippetGenerator extends WithGeneration {
10
- private context;
11
- constructor({ context }: {
12
- context: DynamicSnippetsGeneratorContext;
13
- });
14
- generateSnippet({ endpoint, request, options }: {
15
- endpoint: FernIr.dynamic.Endpoint;
16
- request: FernIr.dynamic.EndpointSnippetRequest;
17
- options: Options;
18
- }): Promise<string>;
19
- generateSnippetSync({ endpoint, request, options }: {
20
- endpoint: FernIr.dynamic.Endpoint;
21
- request: FernIr.dynamic.EndpointSnippetRequest;
22
- options: Options;
23
- }): string;
24
- generateSnippetAst({ endpoint, request, options }: {
25
- endpoint: FernIr.dynamic.Endpoint;
26
- request: FernIr.dynamic.EndpointSnippetRequest;
27
- options?: Options;
28
- }): Promise<ast.AstNode>;
29
- private buildCodeBlock;
30
- private buildFullCodeBlock;
31
- private constructClient;
32
- private callMethod;
33
- private getConstructorArgs;
34
- private getConstructorBaseUrlArgs;
35
- private getBaseUrlArg;
36
- private getConstructorAuthArgs;
37
- private addError;
38
- private addWarning;
39
- private getConstructorBasicAuthArg;
40
- private getConstructorBearerAuthArgs;
41
- private getConstructorHeaderAuthArgs;
42
- private getConstructorOAuthArgs;
43
- private getConstructorHeaderArgs;
44
- private getConstructorHeaderArg;
45
- private getMethodArgs;
46
- private getMethodArgsForInlinedRequest;
47
- private getFilePropertyInfo;
48
- private getInlinedRequestArg;
49
- private getInlinedRequestBodyConstructorFields;
50
- private getInlinedRequestBodyPropertyConstructorFields;
51
- private getFileUploadRequestBodyConstructorFields;
52
- private getReferencedRequestBodyPropertyConstructorField;
53
- private getReferencedRequestBodyPropertyLiteral;
54
- private getMethodArgsForBodyRequest;
55
- private getBodyRequestArg;
56
- private getBytesBodyRequestArg;
57
- private getRootClientConstructorInvocation;
58
- private getPathParameters;
59
- private getMethod;
60
- private getBaseUrlOptionName;
61
- private getStyle;
62
- private getConfig;
63
- }
64
-
65
- export { EndpointSnippetGenerator };
@@ -1,2 +0,0 @@
1
- "use strict";var h=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var L=(o,a,e)=>a in o?h(o,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[a]=e;var T=(o,a)=>{for(var e in a)h(o,e,{get:a[e],enumerable:!0})},N=(o,a,e,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of g(a))!x.call(o,i)&&i!==e&&h(o,i,{get:()=>a[i],enumerable:!(r=v(a,i))||r.enumerable});return o};var R=o=>N(h({},"__esModule",{value:!0}),o);var l=(o,a,e)=>L(o,typeof a!="symbol"?a+"":a,e);var D={};T(D,{DynamicLiteralMapper:()=>y});module.exports=R(D);function p(o){throw new Error("Unexpected value: "+JSON.stringify(o))}var c={Critical:"CRITICAL",Warning:"WARNING"};var u=class{constructor(a){l(this,"generation");this.generation=a}get csharp(){return this.generation.csharp}get settings(){return this.generation.settings}get constants(){return this.generation.constants}get namespaces(){return this.generation.namespaces}get names(){return this.generation.names}get model(){return this.generation.model}get format(){return this.generation.format}get registry(){return this.generation.registry}get Types(){return this.generation.Types}get System(){return this.generation.extern.System}get NUnit(){return this.generation.extern.NUnit}get OneOf(){return this.generation.extern.OneOf}get Google(){return this.generation.extern.Google}get Grpc(){return this.generation.extern.Grpc}get WireMock(){return this.generation.extern.WireMock}get Primitive(){return this.generation.Primitive}get Value(){return this.generation.Value}get Collection(){return this.generation.Collection}};var y=class extends u{constructor({context:e}){super(e.generation);l(this,"context");this.context=e}convert(e){if(e.value===null)return this.context.isNullable(e.typeReference)?this.csharp.Literal.null():(this.context.errors.add({severity:c.Critical,message:"Expected non-null value, but got null"}),this.csharp.Literal.nop());if(e.value===void 0&&!e.fallbackToDefault)return this.csharp.Literal.nop();switch(e.typeReference.type){case"list":return this.convertList({list:e.typeReference.value,value:e.value,fallbackToDefault:e.fallbackToDefault});case"literal":return this.convertLiteral({literal:e.typeReference.value,value:e.value});case"map":return this.convertMap({map:e.typeReference,value:e.value,fallbackToDefault:e.fallbackToDefault});case"named":{let r=this.context.resolveNamedType({typeId:e.typeReference.value});return r==null?this.csharp.Literal.nop():this.convertNamed({named:r,value:e.value,as:e.as,fallbackToDefault:e.fallbackToDefault})}case"nullable":return this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as});case"optional":return this.convert({typeReference:e.typeReference.value,value:e.value,as:e.as});case"primitive":return this.convertPrimitive({primitive:e.typeReference.value,value:e.value,as:e.as,fallbackToDefault:e.fallbackToDefault});case"set":return this.convertSet({set:e.typeReference.value,value:e.value,fallbackToDefault:e.fallbackToDefault});case"unknown":return this.convertUnknown({value:e.value,fallbackToDefault:e.fallbackToDefault});default:p(e.typeReference)}}convertList({list:e,value:r,fallbackToDefault:i}){return Array.isArray(r)?this.csharp.Literal.list({valueType:this.context.dynamicTypeMapper.convert({typeReference:e,unboxOptionals:!0}),values:r.map((t,n)=>{this.context.errors.scope({index:n});try{return this.convert({typeReference:e,value:t})}finally{this.context.errors.unscope()}})}):(this.context.errors.add({severity:c.Critical,message:`Expected array but got: ${typeof r}`}),this.csharp.Literal.nop())}convertLiteral({literal:e,value:r,fallbackToDefault:i}){switch(e.type){case"boolean":{let t=this.context.getValueAsBoolean({value:r});return t==null?this.csharp.Literal.nop():this.csharp.Literal.boolean(t)}case"string":{let t=this.context.getValueAsString({value:r});return t==null?i?this.Primitive.string.getDeterminsticDefault(i):this.csharp.Literal.nop():this.csharp.Literal.string(t)}default:p(e)}}convertSet({set:e,value:r,fallbackToDefault:i}){return Array.isArray(r)?this.csharp.Literal.set({valueType:this.context.dynamicTypeMapper.convert({typeReference:e,unboxOptionals:!0}),values:r.map((t,n)=>{this.context.errors.scope({index:n});try{return this.convert({typeReference:e,value:t})}finally{this.context.errors.unscope()}})}):(this.context.errors.add({severity:c.Critical,message:`Expected array but got: ${typeof r}`}),this.csharp.Literal.nop())}convertMap({map:e,value:r,fallbackToDefault:i}){return typeof r!="object"||r==null?(this.context.errors.add({severity:c.Critical,message:`Expected object but got: ${r==null?"null":typeof r}`}),this.csharp.Literal.nop()):this.csharp.Literal.dictionary({keyType:this.context.dynamicTypeMapper.convert({typeReference:e.key}),valueType:e.value.type==="unknown"?this.context.dynamicTypeMapper.convert({typeReference:e.value}).asOptional():this.context.dynamicTypeMapper.convert({typeReference:e.value}),entries:Object.entries(r).map(([t,n])=>{this.context.errors.scope(t);try{return{key:this.convert({typeReference:e.key,value:t,as:"key"}),value:this.convert({typeReference:e.value,value:n})}}finally{this.context.errors.unscope()}})})}convertNamed({named:e,value:r,as:i,fallbackToDefault:t}){switch(e.type){case"alias":return this.convert({typeReference:e.typeReference,value:r,as:i,fallbackToDefault:t});case"discriminatedUnion":return this.settings.shouldGeneratedDiscriminatedUnions?this.convertDiscriminatedUnion({discriminatedUnion:e,value:r,fallbackToDefault:t}):this.convertUnknown({value:r,fallbackToDefault:t});case"enum":return this.getEnumValue(e,r);case"object":return this.convertObject({object_:e,value:r,fallbackToDefault:t});case"undiscriminatedUnion":return this.convertUndiscriminatedUnion({undiscriminatedUnion:e,value:r,fallbackToDefault:t});default:p(e)}}convertDiscriminatedUnion({discriminatedUnion:e,value:r,fallbackToDefault:i}){let t=this.csharp.classReference({origin:e.declaration,namespace:this.context.getNamespace(e.declaration.fernFilepath)}),n=this.context.resolveDiscriminatedUnionTypeInstance({discriminatedUnion:e,value:r});if(n==null)return this.csharp.Literal.nop();let s=n.singleDiscriminatedUnionType,m=this.getBaseProperties({discriminatedUnionTypeInstance:n,singleDiscriminatedUnionType:s});switch(s.type){case"samePropertiesAsObject":{let f=this.context.resolveNamedType({typeId:s.typeId});return f==null?this.csharp.Literal.nop():this.instantiateUnionWithBaseProperties({classReference:t,baseProperties:m,arguments_:[this.convertNamed({named:f,value:n.value})]})}case"singleProperty":{if(this.context.getRecord(n.value)==null)return this.csharp.Literal.nop();try{let d=["Value","Type"].includes(s.discriminantValue.name.pascalCase.safeName)?`${s.discriminantValue.name.pascalCase.safeName}Inner`:s.discriminantValue.name.pascalCase.safeName;return this.context.errors.scope(s.discriminantValue.wireValue),this.instantiateUnionWithBaseProperties({classReference:t,baseProperties:m,arguments_:[this.csharp.instantiateClass({classReference:this.csharp.classReference({name:d,enclosingType:t}),arguments_:[this.convert({typeReference:s.typeReference,value:s.discriminantValue.wireValue})]})]})}finally{this.context.errors.unscope()}}case"noProperties":return this.instantiateUnionWithBaseProperties({classReference:t,baseProperties:m,arguments_:[this.csharp.instantiateClass({classReference:this.csharp.classReference({origin:n.discriminantValue,enclosingType:t}),arguments_:[]})]});default:p(s)}}getBaseProperties({discriminatedUnionTypeInstance:e,singleDiscriminatedUnionType:r}){var t,n;return this.context.associateByWireValue({parameters:(t=r.properties)!=null?t:[],values:(n=this.context.getRecord(e.value))!=null?n:{},ignoreMissingParameters:!0}).map(s=>{this.context.errors.scope(s.name.wireValue);try{return{name:this.context.getPropertyName(s.name.name),assignment:this.convert(s)}}finally{this.context.errors.unscope()}})}instantiateUnionWithBaseProperties({classReference:e,arguments_:r,baseProperties:i}){let t=this.csharp.instantiateClass({classReference:e,arguments_:r,multiline:!0});return i.length===0?this.csharp.Literal.reference(t):this.csharp.Literal.reference(this.csharp.codeblock(n=>{n.write(t," "),n.pushScope();for(let s of i)n.write(s.name," = ",s.assignment,",");n.popScope(!1)}))}getEnumValue(e,r){if(typeof r!="string")return this.context.errors.add({severity:c.Critical,message:`Expected enum value string, got: ${typeof r}`}),this.csharp.Literal.nop();let i=e.values.find(s=>s.wireValue===r);if(i==null)return this.context.errors.add({severity:c.Critical,message:`An enum value named "${r}" does not exist in this context`}),this.csharp.Literal.nop();let t=this.csharp.classReference({origin:e.declaration,namespace:this.context.getNamespace(e.declaration.fernFilepath)}),n=t.registerField(this.model.getPropertyNameFor(i),i);return this.csharp.Literal.reference(this.csharp.enumInstantiation({reference:t,value:n}))}convertObject({object_:e,value:r,fallbackToDefault:i}){var n;let t=this.context.associateByWireValue({parameters:e.properties,values:(n=this.context.getRecord(r))!=null?n:{}});return this.csharp.Literal.class_({reference:this.csharp.classReference({origin:e.declaration,namespace:this.context.getNamespace(e.declaration.fernFilepath)}),fields:t.map(s=>{this.context.errors.scope(s.name.wireValue);try{return{name:this.context.getClassName(s.name.name),value:this.convert(s)}}finally{this.context.errors.unscope()}})})}convertUndiscriminatedUnion({undiscriminatedUnion:e,value:r,fallbackToDefault:i}){let t=this.findMatchingUndiscriminatedUnionType({undiscriminatedUnion:e,value:r});return t==null?this.csharp.Literal.nop():t.typeLiteral}findMatchingUndiscriminatedUnionType({undiscriminatedUnion:e,value:r}){for(let i of e.types)try{let t=this.convert({typeReference:i,value:r});return{valueTypeReference:i,typeLiteral:t}}catch(t){continue}this.context.errors.add({severity:c.Critical,message:`None of the types in the undiscriminated union matched the given "${typeof r}" value`})}convertUnknown({value:e,fallbackToDefault:r}){return this.csharp.Literal.unknown(e)}convertPrimitive({primitive:e,value:r,as:i,fallbackToDefault:t}){switch(e){case"INTEGER":{let n=this.getValueAsNumber({value:r,as:i});return n==null?t?this.Primitive.integer.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.integer(n)}case"LONG":{let n=this.getValueAsNumber({value:r,as:i});return n==null?t?this.Primitive.long.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.long(n)}case"UINT":{let n=this.getValueAsNumber({value:r,as:i});return n==null?t?this.Primitive.uint.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.uint(n)}case"UINT_64":{let n=this.getValueAsNumber({value:r,as:i});return n==null?t?this.Primitive.ulong.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.ulong(n)}case"FLOAT":{let n=this.getValueAsNumber({value:r,as:i});return n==null?t?this.Primitive.float.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.float(n)}case"DOUBLE":{let n=this.getValueAsNumber({value:r,as:i});return n==null?t?this.Primitive.double.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.double(n)}case"BOOLEAN":{let n=this.getValueAsBoolean({value:r,as:i});return n==null?t?this.Primitive.boolean.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.boolean(n)}case"STRING":{let n=this.context.getValueAsString({value:r});return n==null?t?this.Primitive.string.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.string(n)}case"DATE":{let n=this.context.getValueAsString({value:r});return n==null?t?this.Value.dateOnly.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.date(n)}case"DATE_TIME":{let n=this.context.getValueAsString({value:r});return n==null?t?this.Value.dateTime.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.datetime(n)}case"UUID":{let n=this.context.getValueAsString({value:r});return n==null?t?this.Primitive.string.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.string(n)}case"BASE_64":{let n=this.context.getValueAsString({value:r});return n==null?t?this.Primitive.string.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.string(n)}case"BIG_INTEGER":{let n=this.context.getValueAsString({value:r});return n==null?t?this.Primitive.string.getDeterminsticDefault(t):this.csharp.Literal.nop():this.csharp.Literal.string(n)}default:p(e)}}getValueAsNumber({value:e,as:r}){let i=r==="key"&&typeof e=="string"?Number(e):e;return this.context.getValueAsNumber({value:i})}getValueAsBoolean({value:e,as:r}){let i=r==="key"?typeof e=="string"?e==="true":e==="false"?!1:e:e;return this.context.getValueAsBoolean({value:i})}};0&&(module.exports={DynamicLiteralMapper});
2
- //# sourceMappingURL=DynamicLiteralMapper.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/context/DynamicLiteralMapper.ts","../../../../../../packages/commons/core-utils/src/assert.ts","../../../../../browser-compatible-base/src/dynamic-snippets/ErrorReporter.ts","../../../../codegen/src/with-generation.ts"],"sourcesContent":["import { DiscriminatedUnionTypeInstance, NamedArgument, Severity } from \"@fern-api/browser-compatible-base-generator\";\nimport { assertNever } from \"@fern-api/core-utils\";\nimport { ast, WithGeneration } from \"@fern-api/csharp-codegen\";\nimport { FernIr } from \"@fern-api/dynamic-ir-sdk\";\nimport { DynamicSnippetsGeneratorContext } from \"./DynamicSnippetsGeneratorContext\";\n\nexport declare namespace DynamicLiteralMapper {\n interface Args {\n typeReference: FernIr.dynamic.TypeReference;\n value: unknown;\n as?: ConvertedAs;\n fallbackToDefault?: string;\n }\n\n // Identifies what the type is being converted as, which sometimes influences how\n // the type is instantiated.\n type ConvertedAs = \"key\";\n}\n\nexport class DynamicLiteralMapper extends WithGeneration {\n private context: DynamicSnippetsGeneratorContext;\n\n constructor({ context }: { context: DynamicSnippetsGeneratorContext }) {\n super(context.generation);\n this.context = context;\n }\n\n public convert(args: DynamicLiteralMapper.Args): ast.Literal {\n // eslint-disable-next-line eqeqeq\n if (args.value === null) {\n if (this.context.isNullable(args.typeReference)) {\n return this.csharp.Literal.null();\n }\n this.context.errors.add({\n severity: Severity.Critical,\n message: \"Expected non-null value, but got null\"\n });\n return this.csharp.Literal.nop();\n }\n if (args.value === undefined && !args.fallbackToDefault) {\n return this.csharp.Literal.nop();\n }\n switch (args.typeReference.type) {\n case \"list\":\n return this.convertList({\n list: args.typeReference.value,\n value: args.value,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"literal\":\n return this.convertLiteral({\n literal: args.typeReference.value,\n value: args.value\n });\n case \"map\":\n return this.convertMap({\n map: args.typeReference,\n value: args.value,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"named\": {\n const named = this.context.resolveNamedType({ typeId: args.typeReference.value });\n if (named == null) {\n return this.csharp.Literal.nop();\n }\n return this.convertNamed({\n named,\n value: args.value,\n as: args.as,\n fallbackToDefault: args.fallbackToDefault\n });\n }\n case \"nullable\":\n return this.convert({\n typeReference: args.typeReference.value,\n value: args.value,\n as: args.as\n });\n case \"optional\":\n return this.convert({\n typeReference: args.typeReference.value,\n value: args.value,\n as: args.as\n });\n case \"primitive\":\n return this.convertPrimitive({\n primitive: args.typeReference.value,\n value: args.value,\n as: args.as,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"set\":\n return this.convertSet({\n set: args.typeReference.value,\n value: args.value,\n fallbackToDefault: args.fallbackToDefault\n });\n case \"unknown\":\n return this.convertUnknown({ value: args.value, fallbackToDefault: args.fallbackToDefault });\n default:\n assertNever(args.typeReference);\n }\n }\n\n private convertList({\n list,\n value,\n fallbackToDefault\n }: {\n list: FernIr.dynamic.TypeReference;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\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 this.csharp.Literal.nop();\n }\n return this.csharp.Literal.list({\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: list, unboxOptionals: true }),\n values: value.map((v, index) => {\n this.context.errors.scope({ index });\n try {\n return this.convert({ typeReference: list, value: v });\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertLiteral({\n literal,\n value,\n fallbackToDefault\n }: {\n literal: FernIr.dynamic.LiteralType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n switch (literal.type) {\n case \"boolean\": {\n const bool = this.context.getValueAsBoolean({ value });\n if (bool == null) {\n return this.csharp.Literal.nop();\n }\n return this.csharp.Literal.boolean(bool);\n }\n case \"string\": {\n const str = this.context.getValueAsString({ value });\n if (str == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(str);\n }\n default:\n assertNever(literal);\n }\n }\n\n private convertSet({\n set,\n value,\n fallbackToDefault\n }: {\n set: FernIr.dynamic.TypeReference;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\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 this.csharp.Literal.nop();\n }\n return this.csharp.Literal.set({\n valueType: this.context.dynamicTypeMapper.convert({ typeReference: set, unboxOptionals: true }),\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({\n map,\n value,\n fallbackToDefault\n }: {\n map: FernIr.dynamic.MapType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\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 this.csharp.Literal.nop();\n }\n return this.csharp.Literal.dictionary({\n keyType: this.context.dynamicTypeMapper.convert({ typeReference: map.key }),\n valueType:\n map.value.type === \"unknown\"\n ? this.context.dynamicTypeMapper.convert({ typeReference: map.value }).asOptional()\n : 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: \"key\" }),\n value: this.convert({ typeReference: map.value, value })\n };\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertNamed({\n named,\n value,\n as,\n fallbackToDefault\n }: {\n named: FernIr.dynamic.NamedType;\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n fallbackToDefault?: string;\n }): ast.Literal {\n switch (named.type) {\n case \"alias\":\n return this.convert({ typeReference: named.typeReference, value, as, fallbackToDefault });\n case \"discriminatedUnion\":\n if (this.settings.shouldGeneratedDiscriminatedUnions) {\n return this.convertDiscriminatedUnion({ discriminatedUnion: named, value, fallbackToDefault });\n }\n return this.convertUnknown({ value, fallbackToDefault });\n case \"enum\":\n return this.getEnumValue(named, value);\n case \"object\":\n return this.convertObject({ object_: named, value, fallbackToDefault });\n case \"undiscriminatedUnion\":\n return this.convertUndiscriminatedUnion({ undiscriminatedUnion: named, value, fallbackToDefault });\n default:\n assertNever(named);\n }\n }\n\n private convertDiscriminatedUnion({\n discriminatedUnion,\n value,\n fallbackToDefault\n }: {\n discriminatedUnion: FernIr.dynamic.DiscriminatedUnionType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n const classReference = this.csharp.classReference({\n origin: discriminatedUnion.declaration,\n namespace: this.context.getNamespace(discriminatedUnion.declaration.fernFilepath)\n });\n const discriminatedUnionTypeInstance = this.context.resolveDiscriminatedUnionTypeInstance({\n discriminatedUnion,\n value\n });\n if (discriminatedUnionTypeInstance == null) {\n return this.csharp.Literal.nop();\n }\n const unionVariant = discriminatedUnionTypeInstance.singleDiscriminatedUnionType;\n const baseProperties = this.getBaseProperties({\n discriminatedUnionTypeInstance,\n singleDiscriminatedUnionType: unionVariant\n });\n switch (unionVariant.type) {\n case \"samePropertiesAsObject\": {\n const named = this.context.resolveNamedType({\n typeId: unionVariant.typeId\n });\n if (named == null) {\n return this.csharp.Literal.nop();\n }\n return this.instantiateUnionWithBaseProperties({\n classReference,\n baseProperties,\n arguments_: [this.convertNamed({ named, value: discriminatedUnionTypeInstance.value })]\n });\n }\n case \"singleProperty\": {\n const record = this.context.getRecord(discriminatedUnionTypeInstance.value);\n if (record == null) {\n return this.csharp.Literal.nop();\n }\n try {\n const innerClassName = [\"Value\", \"Type\"].includes(\n unionVariant.discriminantValue.name.pascalCase.safeName\n )\n ? `${unionVariant.discriminantValue.name.pascalCase.safeName}Inner`\n : unionVariant.discriminantValue.name.pascalCase.safeName;\n\n this.context.errors.scope(unionVariant.discriminantValue.wireValue);\n return this.instantiateUnionWithBaseProperties({\n classReference,\n baseProperties,\n arguments_: [\n this.csharp.instantiateClass({\n classReference: this.csharp.classReference({\n // origin: discriminatedUnionTypeInstance.discriminantValue,\n name: innerClassName,\n enclosingType: classReference\n }),\n arguments_: [\n this.convert({\n typeReference: unionVariant.typeReference,\n value: unionVariant.discriminantValue.wireValue\n })\n ]\n })\n ]\n });\n } finally {\n this.context.errors.unscope();\n }\n }\n case \"noProperties\":\n return this.instantiateUnionWithBaseProperties({\n classReference,\n baseProperties,\n arguments_: [\n // Unions with no properties require the discriminant property to be set.\n this.csharp.instantiateClass({\n classReference: this.csharp.classReference({\n origin: discriminatedUnionTypeInstance.discriminantValue,\n enclosingType: classReference\n }),\n arguments_: []\n })\n ]\n });\n default:\n assertNever(unionVariant);\n }\n }\n\n private getBaseProperties({\n discriminatedUnionTypeInstance,\n singleDiscriminatedUnionType\n }: {\n discriminatedUnionTypeInstance: DiscriminatedUnionTypeInstance;\n singleDiscriminatedUnionType: FernIr.dynamic.SingleDiscriminatedUnionType;\n }): NamedArgument[] {\n const properties = this.context.associateByWireValue({\n parameters: singleDiscriminatedUnionType.properties ?? [],\n values: this.context.getRecord(discriminatedUnionTypeInstance.value) ?? {},\n\n // We're only selecting the base properties here. The rest of the properties\n // are handled by the union variant.\n ignoreMissingParameters: true\n });\n return properties.map((property) => {\n this.context.errors.scope(property.name.wireValue);\n try {\n return {\n name: this.context.getPropertyName(property.name.name),\n assignment: this.convert(property)\n };\n } finally {\n this.context.errors.unscope();\n }\n });\n }\n\n private instantiateUnionWithBaseProperties({\n classReference,\n arguments_,\n baseProperties\n }: {\n classReference: ast.ClassReference;\n arguments_: ast.AstNode[];\n baseProperties: NamedArgument[];\n }): ast.Literal {\n const instantiation = this.csharp.instantiateClass({\n classReference,\n arguments_,\n multiline: true\n });\n if (baseProperties.length === 0) {\n return this.csharp.Literal.reference(instantiation);\n }\n return this.csharp.Literal.reference(\n this.csharp.codeblock((writer) => {\n writer.write(instantiation, \" \");\n writer.pushScope();\n for (const baseProperty of baseProperties) {\n writer.write(baseProperty.name, \" = \", baseProperty.assignment, \",\");\n }\n writer.popScope(false);\n })\n );\n }\n\n private getEnumValue(enum_: FernIr.dynamic.EnumType, wireValue: unknown): ast.Literal {\n if (typeof wireValue !== \"string\") {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `Expected enum value string, got: ${typeof wireValue}`\n });\n return this.csharp.Literal.nop();\n }\n const enumValue = enum_.values.find((v) => v.wireValue === wireValue);\n if (enumValue == null) {\n this.context.errors.add({\n severity: Severity.Critical,\n message: `An enum value named \"${wireValue}\" does not exist in this context`\n });\n return this.csharp.Literal.nop();\n }\n const reference = this.csharp.classReference({\n origin: enum_.declaration,\n namespace: this.context.getNamespace(enum_.declaration.fernFilepath)\n });\n\n const valueName = reference.registerField(this.model.getPropertyNameFor(enumValue), enumValue);\n\n return this.csharp.Literal.reference(\n this.csharp.enumInstantiation({\n reference,\n value: valueName\n })\n );\n }\n\n private convertObject({\n object_,\n value,\n fallbackToDefault\n }: {\n object_: FernIr.dynamic.ObjectType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n const properties = this.context.associateByWireValue({\n parameters: object_.properties,\n values: this.context.getRecord(value) ?? {}\n });\n\n return this.csharp.Literal.class_({\n reference: this.csharp.classReference({\n origin: object_.declaration,\n namespace: this.context.getNamespace(object_.declaration.fernFilepath)\n }),\n fields: properties.map((property) => {\n this.context.errors.scope(property.name.wireValue);\n try {\n return {\n name: this.context.getClassName(property.name.name),\n value: this.convert(property)\n };\n } finally {\n this.context.errors.unscope();\n }\n })\n });\n }\n\n private convertUndiscriminatedUnion({\n undiscriminatedUnion,\n value,\n fallbackToDefault\n }: {\n undiscriminatedUnion: FernIr.dynamic.UndiscriminatedUnionType;\n value: unknown;\n fallbackToDefault?: string;\n }): ast.Literal {\n const result = this.findMatchingUndiscriminatedUnionType({\n undiscriminatedUnion,\n value\n });\n if (result == null) {\n return this.csharp.Literal.nop();\n }\n return result.typeLiteral;\n }\n\n private findMatchingUndiscriminatedUnionType({\n undiscriminatedUnion,\n value\n }: {\n undiscriminatedUnion: FernIr.dynamic.UndiscriminatedUnionType;\n value: unknown;\n }): { valueTypeReference: FernIr.dynamic.TypeReference; typeLiteral: ast.Literal } | undefined {\n for (const typeReference of undiscriminatedUnion.types) {\n try {\n const typeLiteral = this.convert({ typeReference, value });\n return { valueTypeReference: typeReference, typeLiteral };\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 convertUnknown({ value, fallbackToDefault }: { value: unknown; fallbackToDefault?: string }): ast.Literal {\n return this.csharp.Literal.unknown(value);\n }\n\n private convertPrimitive({\n primitive,\n value,\n as,\n fallbackToDefault\n }: {\n primitive: FernIr.dynamic.PrimitiveTypeV1;\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n fallbackToDefault?: string;\n }): ast.Literal {\n switch (primitive) {\n case \"INTEGER\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.integer.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.integer(num);\n }\n case \"LONG\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.long.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.long(num);\n }\n case \"UINT\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.uint.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.uint(num);\n }\n case \"UINT_64\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.ulong.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.ulong(num);\n }\n case \"FLOAT\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.float.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.float(num);\n }\n case \"DOUBLE\": {\n const num = this.getValueAsNumber({ value, as });\n if (num == null) {\n return fallbackToDefault\n ? this.Primitive.double.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.double(num);\n }\n case \"BOOLEAN\": {\n const bool = this.getValueAsBoolean({ value, as });\n if (bool == null) {\n return fallbackToDefault\n ? this.Primitive.boolean.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.boolean(bool);\n }\n case \"STRING\": {\n const str = this.context.getValueAsString({ value });\n if (str == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(str);\n }\n case \"DATE\": {\n const date = this.context.getValueAsString({ value });\n if (date == null) {\n return fallbackToDefault\n ? this.Value.dateOnly.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.date(date);\n }\n case \"DATE_TIME\": {\n const dateTime = this.context.getValueAsString({ value });\n if (dateTime == null) {\n return fallbackToDefault\n ? this.Value.dateTime.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.datetime(dateTime);\n }\n case \"UUID\": {\n const uuid = this.context.getValueAsString({ value });\n if (uuid == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(uuid);\n }\n case \"BASE_64\": {\n const base64 = this.context.getValueAsString({ value });\n if (base64 == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(base64);\n }\n case \"BIG_INTEGER\": {\n const bigInt = this.context.getValueAsString({ value });\n if (bigInt == null) {\n return fallbackToDefault\n ? this.Primitive.string.getDeterminsticDefault(fallbackToDefault)\n : this.csharp.Literal.nop();\n }\n return this.csharp.Literal.string(bigInt);\n }\n default:\n assertNever(primitive);\n }\n }\n\n private getValueAsNumber({\n value,\n as\n }: {\n value: unknown;\n as?: DynamicLiteralMapper.ConvertedAs;\n }): number | undefined {\n const num = as === \"key\" ? (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?: DynamicLiteralMapper.ConvertedAs;\n }): boolean | undefined {\n const bool =\n as === \"key\" ? (typeof value === \"string\" ? value === \"true\" : value === \"false\" ? false : value) : value;\n return this.context.getValueAsBoolean({ value: bool });\n }\n}\n","/**\n * Asserts that a condition is truthy, throwing an exception with the specified message if it is falsy.\n */\nexport function assert(condition: unknown, message?: string): asserts condition {\n if (!condition) {\n throw new Error(message ?? \"Expected condition to be truthy but got falsy.\");\n }\n}\n\nexport function assertDefined<T>(val: T, message?: string): asserts val is Exclude<T, undefined> {\n if (val === undefined) {\n throw new Error(message ?? \"Expected value to be defined but got undefined.\");\n }\n}\n\nexport function assertNonNull<T>(val: T, message?: string): asserts val is Exclude<T, null> {\n if (val === null) {\n throw new Error(message ?? \"Expected value to be non-null but got null.\");\n }\n}\n\nexport function assertString(val: unknown, message?: string): asserts val is string {\n if (typeof val !== \"string\") {\n throw new Error(message ?? `Expected value to be a string but got ${typeof val}.`);\n }\n}\n\nexport function assertNever(x: never): never {\n throw new Error(\"Unexpected value: \" + JSON.stringify(x));\n}\n\n// biome-ignore lint/suspicious/noEmptyBlockStatements: allow\nexport function assertNeverNoThrow(_: never): void {}\n\n// biome-ignore lint/suspicious/noEmptyBlockStatements: allow\nexport function assertVoidNoThrow(_x: void): void {}\n","export const Severity = {\n Critical: \"CRITICAL\",\n Warning: \"WARNING\"\n} as const;\n\nexport declare namespace ErrorReporter {\n type Path = readonly PathItem[];\n\n type PathItem = string | ArrayPathItem;\n\n type Severity = (typeof Severity)[keyof typeof Severity];\n\n interface ArrayPathItem {\n index: number;\n }\n\n interface Error {\n path?: Path;\n severity: Severity;\n message: string;\n }\n}\n\ninterface Error_ {\n severity: \"CRITICAL\" | \"WARNING\";\n path: string[] | undefined;\n message: string;\n}\n\nexport class ErrorReporter {\n private errors: ErrorReporter.Error[];\n private path: ErrorReporter.PathItem[];\n\n constructor() {\n this.errors = [];\n this.path = [];\n }\n\n public add(err: Omit<ErrorReporter.Error, \"path\">): void {\n this.errors.push({\n ...err,\n path: [...this.path]\n });\n }\n\n public scope(path: ErrorReporter.PathItem): void {\n this.path.push(path);\n }\n\n public unscope(): void {\n this.path.pop();\n }\n\n public getBySeverity(severity: ErrorReporter.Severity): ErrorReporter.Error[] {\n return this.errors.filter((err) => err.severity === severity);\n }\n\n public empty(): boolean {\n return this.errors.length === 0;\n }\n\n public size(): number {\n return this.errors.length;\n }\n\n public clone(): ErrorReporter {\n const clone = new ErrorReporter();\n clone.errors = [...this.errors];\n clone.path = [...this.path];\n return clone;\n }\n\n public reset(): void {\n this.errors = [];\n this.path = [];\n }\n\n public toDynamicSnippetErrors(): Error_[] {\n return this.errors.map((err) => ({\n severity: err.severity,\n path: err.path != null ? this.pathToStringArray(err.path) : undefined,\n message: err.message\n }));\n }\n\n private pathToStringArray(path: ErrorReporter.Path): string[] {\n const result: string[] = [];\n for (const item of path) {\n if (typeof item === \"string\") {\n result.push(item);\n continue;\n }\n result[result.length - 1] += `[${item.index}]`;\n }\n return result;\n }\n}\n","import { type Generation } from \"./context/generation-info\";\n\n/**\n * A trivial class of convenience properties that a generator class can inherit from to gain access to the portable context features.\n *\n * This base class provides convenient access to common generation context properties through protected getters,\n * eliminating the need to repeatedly access `this.ctx.generation.*` throughout generator implementations.\n */\nexport class WithGeneration {\n public constructor(protected readonly generation: Generation) {}\n\n /** Provides access to C# code generation utilities */\n protected get csharp() {\n return this.generation.csharp;\n }\n\n /** Provides access to generation settings and configuration */\n protected get settings() {\n return this.generation.settings;\n }\n\n /** Provides access to generation constants */\n protected get constants() {\n return this.generation.constants;\n }\n\n /** Provides access to namespace management utilities */\n protected get namespaces() {\n return this.generation.namespaces;\n }\n\n /** Provides access to naming utilities for generating consistent identifiers */\n protected get names() {\n return this.generation.names;\n }\n\n /** Provides access to the model navigation and inspection utilities */\n protected get model() {\n return this.generation.model;\n }\n /** Provides access to text formatting utilities */\n protected get format() {\n return this.generation.format;\n }\n\n /** Provides access to the type registry for looking up generated types */\n protected get registry() {\n return this.generation.registry;\n }\n /** Provides access to type information and utilities */\n protected get Types() {\n return this.generation.Types;\n }\n\n /** Provides access to .NET System namespace types and utilities */\n public get System() {\n return this.generation.extern.System;\n }\n\n /** Provides access to NUnit testing framework types */\n public get NUnit() {\n return this.generation.extern.NUnit;\n }\n\n /** Provides access to OneOf discriminated union library types */\n public get OneOf() {\n return this.generation.extern.OneOf;\n }\n\n /** Provides access to Google protocol buffer types */\n public get Google() {\n return this.generation.extern.Google;\n }\n public get Grpc() {\n return this.generation.extern.Grpc;\n }\n /** Provides access to WireMock.Net testing/mocking library types */\n public get WireMock() {\n return this.generation.extern.WireMock;\n }\n /** Provides access to primitive types */\n public get Primitive() {\n return this.generation.Primitive;\n }\n /** Provides access to value types */\n public get Value() {\n return this.generation.Value;\n }\n /** Provides access to collection types */\n public get Collection() {\n return this.generation.Collection;\n }\n}\n"],"mappings":"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","names":["DynamicLiteralMapper_exports","__export","DynamicLiteralMapper","__toCommonJS","assertNever","x","Severity","WithGeneration","generation","__publicField","DynamicLiteralMapper","WithGeneration","context","__publicField","args","Severity","named","assertNever","list","value","fallbackToDefault","v","index","literal","bool","str","set","map","key","as","discriminatedUnion","classReference","discriminatedUnionTypeInstance","unionVariant","baseProperties","innerClassName","singleDiscriminatedUnionType","_a","_b","property","arguments_","instantiation","writer","baseProperty","enum_","wireValue","enumValue","reference","valueName","object_","properties","undiscriminatedUnion","result","typeReference","typeLiteral","e","primitive","num","date","dateTime","uuid","base64","bigInt"]}
@@ -1,7 +0,0 @@
1
- import '@fern-api/csharp-codegen';
2
- import '@fern-api/dynamic-ir-sdk';
3
- export { a as DynamicLiteralMapper } from '../DynamicSnippetsGeneratorContext-pehoeH_w.cjs';
4
- import '@fern-api/csharp-codegen/lib/ast';
5
- import '@fern-api/csharp-codegen/lib/ast/types/Type';
6
- import '@fern-api/csharp-codegen/lib/context/model-navigator';
7
- import '@fern-api/browser-compatible-base-generator';