@goast/kotlin 0.1.17 → 0.2.0

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 (179) hide show
  1. package/cjs/index.js +3 -0
  2. package/cjs/lib/ast/_index.js +81 -0
  3. package/cjs/lib/ast/common.js +2 -0
  4. package/cjs/lib/ast/index.js +5 -0
  5. package/cjs/lib/ast/node.js +10 -0
  6. package/cjs/lib/ast/nodes/annotation.js +39 -0
  7. package/cjs/lib/ast/nodes/argument.js +32 -0
  8. package/cjs/lib/ast/nodes/call.js +37 -0
  9. package/cjs/lib/ast/nodes/class.js +94 -0
  10. package/cjs/lib/ast/nodes/collection-literal.js +24 -0
  11. package/cjs/lib/ast/nodes/constructor.js +75 -0
  12. package/cjs/lib/ast/nodes/doc-tag.js +60 -0
  13. package/cjs/lib/ast/nodes/doc.js +55 -0
  14. package/cjs/lib/ast/nodes/enum-value.js +50 -0
  15. package/cjs/lib/ast/nodes/enum.js +83 -0
  16. package/cjs/lib/ast/nodes/function.js +105 -0
  17. package/cjs/lib/ast/nodes/generic-parameter.js +29 -0
  18. package/cjs/lib/ast/nodes/init-block.js +19 -0
  19. package/cjs/lib/ast/nodes/interface.js +68 -0
  20. package/cjs/lib/ast/nodes/lambda-type.js +44 -0
  21. package/cjs/lib/ast/nodes/lambda.js +36 -0
  22. package/cjs/lib/ast/nodes/object.js +58 -0
  23. package/cjs/lib/ast/nodes/parameter.js +57 -0
  24. package/cjs/lib/ast/nodes/property.js +142 -0
  25. package/cjs/lib/ast/nodes/reference.js +79 -0
  26. package/cjs/lib/ast/nodes/string.js +87 -0
  27. package/cjs/lib/ast/nodes/types.js +2 -0
  28. package/cjs/lib/ast/references/index.js +12 -0
  29. package/cjs/lib/ast/references/jackson.js +12 -0
  30. package/cjs/lib/ast/references/jakarta.js +10 -0
  31. package/cjs/lib/ast/references/java.js +14 -0
  32. package/cjs/lib/ast/references/kotlin.js +27 -0
  33. package/cjs/lib/ast/references/okhttp3.js +7 -0
  34. package/cjs/lib/ast/references/reactor.js +6 -0
  35. package/cjs/lib/ast/references/spring.js +21 -0
  36. package/cjs/lib/ast/references/swagger.js +11 -0
  37. package/cjs/lib/ast/utils/get-kotlin-builder-options.js +19 -0
  38. package/cjs/lib/ast/utils/to-kt-node.js +22 -0
  39. package/cjs/lib/ast/utils/write-kt-annotations.js +13 -0
  40. package/cjs/lib/ast/utils/write-kt-arguments.js +33 -0
  41. package/cjs/lib/ast/utils/write-kt-enum-values.js +17 -0
  42. package/cjs/lib/ast/utils/write-kt-generic-parameters.js +12 -0
  43. package/cjs/lib/ast/utils/write-kt-members.js +16 -0
  44. package/cjs/lib/ast/utils/write-kt-node.js +24 -0
  45. package/cjs/lib/ast/utils/write-kt-parameters.js +13 -0
  46. package/cjs/lib/config.js +15 -1
  47. package/cjs/lib/file-builder.js +17 -2
  48. package/cjs/lib/generators/models/args.js +2 -0
  49. package/cjs/lib/generators/models/index.js +2 -0
  50. package/cjs/lib/generators/models/model-generator.js +281 -322
  51. package/cjs/lib/generators/services/okhttp3-clients/args.js +2 -0
  52. package/cjs/lib/generators/services/okhttp3-clients/index.js +2 -0
  53. package/cjs/lib/generators/services/okhttp3-clients/okhttp3-client-generator.js +240 -348
  54. package/cjs/lib/generators/services/okhttp3-clients/okhttp3-clients-generator.js +4 -1
  55. package/cjs/lib/generators/services/okhttp3-clients/refs.js +34 -0
  56. package/cjs/lib/generators/services/spring-controllers/args.js +2 -0
  57. package/cjs/lib/generators/services/spring-controllers/index.js +2 -0
  58. package/cjs/lib/generators/services/spring-controllers/spring-controller-generator.js +270 -346
  59. package/cjs/lib/import-collection.js +24 -15
  60. package/esm/index.js +3 -0
  61. package/esm/lib/ast/_index.js +27 -0
  62. package/esm/lib/ast/common.js +1 -0
  63. package/esm/lib/ast/index.js +2 -0
  64. package/esm/lib/ast/node.js +6 -0
  65. package/esm/lib/ast/nodes/annotation.js +35 -0
  66. package/esm/lib/ast/nodes/argument.js +28 -0
  67. package/esm/lib/ast/nodes/call.js +33 -0
  68. package/esm/lib/ast/nodes/class.js +90 -0
  69. package/esm/lib/ast/nodes/collection-literal.js +20 -0
  70. package/esm/lib/ast/nodes/constructor.js +71 -0
  71. package/esm/lib/ast/nodes/doc-tag.js +56 -0
  72. package/esm/lib/ast/nodes/doc.js +51 -0
  73. package/esm/lib/ast/nodes/enum-value.js +46 -0
  74. package/esm/lib/ast/nodes/enum.js +79 -0
  75. package/esm/lib/ast/nodes/function.js +101 -0
  76. package/esm/lib/ast/nodes/generic-parameter.js +25 -0
  77. package/esm/lib/ast/nodes/init-block.js +15 -0
  78. package/esm/lib/ast/nodes/interface.js +64 -0
  79. package/esm/lib/ast/nodes/lambda-type.js +40 -0
  80. package/esm/lib/ast/nodes/lambda.js +32 -0
  81. package/esm/lib/ast/nodes/object.js +54 -0
  82. package/esm/lib/ast/nodes/parameter.js +53 -0
  83. package/esm/lib/ast/nodes/property.js +135 -0
  84. package/esm/lib/ast/nodes/reference.js +75 -0
  85. package/esm/lib/ast/nodes/string.js +83 -0
  86. package/esm/lib/ast/nodes/types.js +1 -0
  87. package/esm/lib/ast/references/index.js +15 -0
  88. package/esm/lib/ast/references/jackson.js +9 -0
  89. package/esm/lib/ast/references/jakarta.js +7 -0
  90. package/esm/lib/ast/references/java.js +11 -0
  91. package/esm/lib/ast/references/kotlin.js +24 -0
  92. package/esm/lib/ast/references/okhttp3.js +4 -0
  93. package/esm/lib/ast/references/reactor.js +3 -0
  94. package/esm/lib/ast/references/spring.js +18 -0
  95. package/esm/lib/ast/references/swagger.js +8 -0
  96. package/esm/lib/ast/utils/get-kotlin-builder-options.js +15 -0
  97. package/esm/lib/ast/utils/to-kt-node.js +18 -0
  98. package/esm/lib/ast/utils/write-kt-annotations.js +9 -0
  99. package/esm/lib/ast/utils/write-kt-arguments.js +29 -0
  100. package/esm/lib/ast/utils/write-kt-enum-values.js +13 -0
  101. package/esm/lib/ast/utils/write-kt-generic-parameters.js +8 -0
  102. package/esm/lib/ast/utils/write-kt-members.js +12 -0
  103. package/esm/lib/ast/utils/write-kt-node.js +19 -0
  104. package/esm/lib/ast/utils/write-kt-parameters.js +9 -0
  105. package/esm/lib/config.js +15 -1
  106. package/esm/lib/file-builder.js +16 -2
  107. package/esm/lib/generators/models/args.js +1 -0
  108. package/esm/lib/generators/models/index.js +2 -0
  109. package/esm/lib/generators/models/model-generator.js +282 -323
  110. package/esm/lib/generators/services/okhttp3-clients/args.js +1 -0
  111. package/esm/lib/generators/services/okhttp3-clients/index.js +2 -0
  112. package/esm/lib/generators/services/okhttp3-clients/okhttp3-client-generator.js +242 -350
  113. package/esm/lib/generators/services/okhttp3-clients/okhttp3-clients-generator.js +4 -1
  114. package/esm/lib/generators/services/okhttp3-clients/refs.js +30 -0
  115. package/esm/lib/generators/services/spring-controllers/args.js +1 -0
  116. package/esm/lib/generators/services/spring-controllers/index.js +2 -0
  117. package/esm/lib/generators/services/spring-controllers/spring-controller-generator.js +269 -346
  118. package/esm/lib/import-collection.js +23 -14
  119. package/package.json +6 -6
  120. package/types/index.d.ts +2 -0
  121. package/types/lib/ast/_index.d.ts +28 -0
  122. package/types/lib/ast/common.d.ts +1 -0
  123. package/types/lib/ast/index.d.ts +1 -0
  124. package/types/lib/ast/node.d.ts +4 -0
  125. package/types/lib/ast/nodes/annotation.d.ts +23 -0
  126. package/types/lib/ast/nodes/argument.d.ts +22 -0
  127. package/types/lib/ast/nodes/call.d.ts +22 -0
  128. package/types/lib/ast/nodes/class.d.ts +54 -0
  129. package/types/lib/ast/nodes/collection-literal.d.ts +17 -0
  130. package/types/lib/ast/nodes/constructor.d.ts +34 -0
  131. package/types/lib/ast/nodes/doc-tag.d.ts +34 -0
  132. package/types/lib/ast/nodes/doc.d.ts +26 -0
  133. package/types/lib/ast/nodes/enum-value.d.ts +30 -0
  134. package/types/lib/ast/nodes/enum.d.ts +45 -0
  135. package/types/lib/ast/nodes/function.d.ts +58 -0
  136. package/types/lib/ast/nodes/generic-parameter.d.ts +21 -0
  137. package/types/lib/ast/nodes/init-block.d.ts +16 -0
  138. package/types/lib/ast/nodes/interface.d.ts +41 -0
  139. package/types/lib/ast/nodes/lambda-type.d.ts +21 -0
  140. package/types/lib/ast/nodes/lambda.d.ts +20 -0
  141. package/types/lib/ast/nodes/object.d.ts +34 -0
  142. package/types/lib/ast/nodes/parameter.d.ts +48 -0
  143. package/types/lib/ast/nodes/property.d.ts +87 -0
  144. package/types/lib/ast/nodes/reference.d.ts +63 -0
  145. package/types/lib/ast/nodes/string.d.ts +30 -0
  146. package/types/lib/ast/nodes/types.d.ts +10 -0
  147. package/types/lib/ast/references/index.d.ts +8 -0
  148. package/types/lib/ast/references/jackson.d.ts +77 -0
  149. package/types/lib/ast/references/jakarta.d.ts +33 -0
  150. package/types/lib/ast/references/java.d.ts +71 -0
  151. package/types/lib/ast/references/kotlin.d.ts +265 -0
  152. package/types/lib/ast/references/okhttp3.d.ts +22 -0
  153. package/types/lib/ast/references/reactor.d.ts +16 -0
  154. package/types/lib/ast/references/spring.d.ts +126 -0
  155. package/types/lib/ast/references/swagger.d.ts +44 -0
  156. package/types/lib/ast/utils/get-kotlin-builder-options.d.ts +3 -0
  157. package/types/lib/ast/utils/to-kt-node.d.ts +7 -0
  158. package/types/lib/ast/utils/write-kt-annotations.d.ts +5 -0
  159. package/types/lib/ast/utils/write-kt-arguments.d.ts +3 -0
  160. package/types/lib/ast/utils/write-kt-enum-values.d.ts +3 -0
  161. package/types/lib/ast/utils/write-kt-generic-parameters.d.ts +3 -0
  162. package/types/lib/ast/utils/write-kt-members.d.ts +5 -0
  163. package/types/lib/ast/utils/write-kt-node.d.ts +7 -0
  164. package/types/lib/ast/utils/write-kt-parameters.d.ts +3 -0
  165. package/types/lib/config.d.ts +4 -0
  166. package/types/lib/file-builder.d.ts +10 -3
  167. package/types/lib/generators/models/args.d.ts +99 -0
  168. package/types/lib/generators/models/index.d.ts +1 -0
  169. package/types/lib/generators/models/model-generator.d.ts +35 -32
  170. package/types/lib/generators/models/models.d.ts +4 -4
  171. package/types/lib/generators/services/okhttp3-clients/args.d.ts +66 -0
  172. package/types/lib/generators/services/okhttp3-clients/index.d.ts +1 -0
  173. package/types/lib/generators/services/okhttp3-clients/models.d.ts +2 -0
  174. package/types/lib/generators/services/okhttp3-clients/okhttp3-client-generator.d.ts +25 -47
  175. package/types/lib/generators/services/okhttp3-clients/refs.d.ts +235 -0
  176. package/types/lib/generators/services/spring-controllers/args.d.ts +70 -0
  177. package/types/lib/generators/services/spring-controllers/index.d.ts +1 -0
  178. package/types/lib/generators/services/spring-controllers/spring-controller-generator.d.ts +37 -51
  179. package/types/lib/import-collection.d.ts +7 -1
@@ -0,0 +1,99 @@
1
+ import { ApiSchema, ApiSchemaProperty } from '@goast/core';
2
+ export type GetFileContent = {};
3
+ export type GetSchemaDeclaration = {
4
+ schema: ApiSchema;
5
+ };
6
+ export type GetClass = {
7
+ schema: ApiSchema<'object'>;
8
+ };
9
+ export type GetInterface = {
10
+ schema: ApiSchema<'object'>;
11
+ };
12
+ export type GetEnum = {
13
+ schema: ApiSchema;
14
+ };
15
+ export type GetType = {
16
+ schema: ApiSchema;
17
+ nullable?: boolean;
18
+ };
19
+ export type GetGeneratedType = {
20
+ schema: ApiSchema;
21
+ nullable?: boolean;
22
+ };
23
+ export type GetAdditionalPropertiesType = {
24
+ schema: ApiSchema<'object'>;
25
+ };
26
+ export type GetDefaultValue = {
27
+ schema: ApiSchema;
28
+ };
29
+ export type GetClassParameter = {
30
+ schema: ApiSchema<'object'>;
31
+ inheritedSchemas: ApiSchema[];
32
+ parameters: ApiSchemaProperty[];
33
+ property: ApiSchemaProperty;
34
+ };
35
+ export type GetInterfaceProperty = {
36
+ schema: ApiSchema<'object'>;
37
+ property: ApiSchemaProperty;
38
+ };
39
+ export type GetAdditionalPropertiesProperty = {
40
+ schema: ApiSchema<'object'>;
41
+ };
42
+ export type GetAdditionalPropertiesSetter = {
43
+ schema: ApiSchema<'object'>;
44
+ };
45
+ export type GetAdditionalPropertiesGetter = {
46
+ schema: ApiSchema<'object'>;
47
+ };
48
+ export type GetJacksonJsonTypeInfoAnnotation = {
49
+ schema: ApiSchema;
50
+ };
51
+ export type GetJacksonJsonSubTypesAnnotation = {
52
+ schema: ApiSchema;
53
+ };
54
+ export type GetJacksonJsonPropertyAnnotation = {
55
+ schema: ApiSchema;
56
+ property: ApiSchemaProperty;
57
+ };
58
+ export type GetJacksonJsonIncludeAnnotation = {
59
+ schema: ApiSchema;
60
+ property: ApiSchemaProperty;
61
+ };
62
+ export type GetJakartaPatternAnnotation = {
63
+ schema: ApiSchema;
64
+ property: ApiSchemaProperty;
65
+ };
66
+ export type GetJakartaValidAnnotation = {
67
+ schema: ApiSchema;
68
+ property: ApiSchemaProperty;
69
+ };
70
+ export type GetSwaggerSchemaAnnotation = {
71
+ schema: ApiSchema;
72
+ property: ApiSchemaProperty;
73
+ };
74
+ export type GetPackageName = {
75
+ schema: ApiSchema;
76
+ };
77
+ export type ShouldGenerateTypeDeclaration = {
78
+ schema: ApiSchema;
79
+ };
80
+ export type GetDeclarationTypeName = {
81
+ schema: ApiSchema;
82
+ };
83
+ export type GetInheritedSchemas = {
84
+ schema: ApiSchema;
85
+ };
86
+ export type GetClassProperties = {
87
+ schema: ApiSchema<'object'>;
88
+ };
89
+ export type SortProperties = {
90
+ schema: ApiSchema;
91
+ properties: Iterable<ApiSchemaProperty>;
92
+ };
93
+ export type NormalizeSchema = {
94
+ schema: ApiSchema;
95
+ };
96
+ export type HasProperty = {
97
+ schema: ApiSchema;
98
+ propertyName: string;
99
+ };
@@ -1,3 +1,4 @@
1
1
  export * from './model-generator';
2
2
  export * from './models';
3
3
  export * from './models-generator';
4
+ export * as DefaultKotlinModelGeneratorArgs from './args';
@@ -1,5 +1,7 @@
1
- import { ApiSchema, ApiSchemaProperty } from '@goast/core';
1
+ import { ApiSchema, ApiSchemaProperty, AppendValue, AppendValueGroup, SourceBuilder } from '@goast/core';
2
+ import { DefaultKotlinModelGeneratorArgs as Args } from '.';
2
3
  import { KotlinModelGeneratorContext, KotlinModelGeneratorOutput } from './models';
4
+ import { kt } from '../../ast';
3
5
  import { KotlinFileBuilder } from '../../file-builder';
4
6
  import { KotlinFileGenerator } from '../file-generator';
5
7
  type Context = KotlinModelGeneratorContext;
@@ -9,36 +11,37 @@ export interface KotlinModelGenerator<TOutput extends Output = Output> {
9
11
  generate(ctx: Context): TOutput;
10
12
  }
11
13
  export declare class DefaultKotlinModelGenerator extends KotlinFileGenerator<Context, Output> implements KotlinModelGenerator {
12
- generate(ctx: KotlinModelGeneratorContext): KotlinModelGeneratorOutput;
13
- protected generateFileContent(ctx: Context, builder: Builder): void;
14
- protected generateTypeUsage(ctx: Context, builder: Builder, schema: ApiSchema): void;
15
- protected generateObjectType(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
16
- protected generateObjectPackageMember(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
17
- protected generateObjectInterface(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
18
- protected generateObjectInterfaceAnnotations(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
19
- protected generateObjectInterfaceSignature(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
20
- protected generateObjectInterfaceMembers(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
21
- protected generateObjectDataClassProperty(ctx: Context, builder: Builder, schema: ApiSchema<'object'>, inheritedSchemas: ApiSchema[], property: ApiSchemaProperty): void;
22
- protected generateObjectDataClass(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
23
- protected generateDefaultValue(ctx: Context, builder: Builder, schema: ApiSchema): void;
24
- protected generateObjectDataClassParameterAnnotations(ctx: Context, builder: Builder, schema: ApiSchema, property: ApiSchemaProperty): void;
25
- protected generatePropertyValidationAnnotations(ctx: Context, builder: Builder, schema: ApiSchema, property: ApiSchemaProperty): void;
26
- protected generatePropertySchemaAnnotation(ctx: Context, builder: Builder, schema: ApiSchema, property: ApiSchemaProperty): void;
27
- protected generateJsonPropertyAnnotation(ctx: Context, builder: Builder, schema: ApiSchema, property: ApiSchemaProperty, scope?: string): void;
28
- protected generateMapType(ctx: Context, builder: Builder, schema: ApiSchema<'object'>): void;
29
- protected generateType(ctx: Context, builder: Builder, schema: ApiSchema): void;
30
- protected generateNumberType(ctx: Context, builder: Builder, schema: ApiSchema<'number' | 'integer'>): void;
31
- protected generateStringType(ctx: Context, builder: Builder, schema: ApiSchema<'string'>): void;
32
- protected generateEnum(ctx: Context, builder: Builder, schema: ApiSchema): void;
33
- protected generateArrayType(ctx: Context, builder: Builder, schema: ApiSchema<'array'>): void;
34
- protected generateDocumentation(ctx: Context, builder: Builder, schema: ApiSchema): void;
35
- protected getPackageName(ctx: Context, schema: ApiSchema): string;
36
- protected shouldGenerateTypeDeclaration(ctx: Context, schema: ApiSchema): boolean;
37
- protected getDeclarationTypeName(ctx: Context, schema: ApiSchema): string;
38
- protected getInheritedSchemas(ctx: KotlinModelGeneratorContext, schema: ApiSchema): ApiSchema<import("@goast/core").ApiSchemaKind>[];
39
- protected getClassProperties(ctx: Context, schema: ApiSchema<'object'>): ApiSchemaProperty[];
40
- protected sortProperties(ctx: Context, schema: ApiSchema, properties: Iterable<ApiSchemaProperty>): ApiSchemaProperty[];
41
- private normalizeSchema;
42
- private hasProperty;
14
+ generate(ctx: Context): KotlinModelGeneratorOutput;
15
+ protected getFileContent(ctx: Context, args: Args.GetFileContent): AppendValueGroup<Builder>;
16
+ protected getSchemaDeclaration(ctx: Context, args: Args.GetSchemaDeclaration): AppendValue<Builder>;
17
+ protected getClass(ctx: Context, args: Args.GetClass): kt.Class<Builder>;
18
+ protected getInterface(ctx: Context, args: Args.GetInterface): kt.Interface<Builder>;
19
+ protected getEnum(ctx: Context, args: Args.GetEnum): kt.Enum<Builder>;
20
+ protected getType(ctx: Context, args: Args.GetType): kt.Reference<SourceBuilder>;
21
+ protected getGeneratedType(ctx: Context, args: Args.GetGeneratedType): kt.Reference<SourceBuilder> | null;
22
+ protected getAdditionalPropertiesType(ctx: Context, args: Args.GetAdditionalPropertiesType): kt.Reference<SourceBuilder>;
23
+ protected getDefaultValue(ctx: Context, args: Args.GetDefaultValue): kt.Value<Builder>;
24
+ protected getClassParameter(ctx: Context, args: Args.GetClassParameter): kt.Parameter<Builder>;
25
+ protected getInterfaceProperty(ctx: Context, args: Args.GetInterfaceProperty): kt.Property<Builder>;
26
+ protected getAdditionalPropertiesProperty(ctx: Context, args: Args.GetAdditionalPropertiesProperty): kt.Property<Builder>;
27
+ protected getAdditionalPropertiesSetter(ctx: Context, args: Args.GetAdditionalPropertiesSetter): kt.Function<Builder>;
28
+ protected getAdditionalPropertiesGetter(ctx: Context, args: Args.GetAdditionalPropertiesGetter): kt.Function<Builder>;
29
+ protected getJacksonJsonTypeInfoAnnotation(ctx: Context, args: Args.GetJacksonJsonTypeInfoAnnotation): kt.Annotation<Builder> | null;
30
+ protected getJacksonJsonSubTypesAnnotation(ctx: Context, args: Args.GetJacksonJsonSubTypesAnnotation): kt.Annotation<Builder> | null;
31
+ protected getJacksonJsonPropertyAnnotation(ctx: Context, args: Args.GetJacksonJsonPropertyAnnotation): kt.Annotation<Builder> | null;
32
+ protected getJacksonJsonIncludeAnnotation(ctx: Context, args: Args.GetJacksonJsonIncludeAnnotation): kt.Annotation<Builder> | null;
33
+ protected getJakartaPatternAnnotation(ctx: Context, args: Args.GetJakartaPatternAnnotation): kt.Annotation<Builder> | null;
34
+ protected getJakartaValidAnnotation(ctx: Context, args: Args.GetJakartaValidAnnotation): kt.Annotation<Builder> | null;
35
+ protected getSwaggerSchemaAnnotation(ctx: Context, args: Args.GetSwaggerSchemaAnnotation): kt.Annotation<Builder> | null;
36
+ protected getPackageName(ctx: Context, args: Args.GetPackageName): string;
37
+ protected shouldGenerateTypeDeclaration(ctx: Context, args: Args.ShouldGenerateTypeDeclaration): boolean;
38
+ protected getDeclarationTypeName(ctx: Context, args: Args.GetDeclarationTypeName): string;
39
+ protected getInheritedSchemas(ctx: Context, args: Args.GetInheritedSchemas): (ApiSchema<import("@goast/core").ApiSchemaKind> & {
40
+ discriminator: import("@goast/core").ApiSchemaDiscriminator;
41
+ })[];
42
+ protected getClassProperties(ctx: Context, args: Args.GetClassProperties): ApiSchemaProperty[];
43
+ protected sortProperties(ctx: Context, args: Args.SortProperties): ApiSchemaProperty[];
44
+ protected normalizeSchema(ctx: Context, args: Args.NormalizeSchema): ApiSchema;
45
+ protected hasProperty(ctx: Context, args: Args.HasProperty): boolean;
43
46
  }
44
47
  export {};
@@ -1,5 +1,5 @@
1
- import { ApiSchema, DefaultGenerationProviderConfig, OpenApiSchemasGenerationProviderContext } from '@goast/core';
2
- import { KotlinImport } from '../../common-results';
1
+ import { ApiSchema, DefaultGenerationProviderConfig, OpenApiSchemasGenerationProviderContext, SourceBuilder } from '@goast/core';
2
+ import { kt } from '../../ast';
3
3
  import { KotlinGeneratorConfig } from '../../config';
4
4
  export type KotlinModelsGeneratorConfig = KotlinGeneratorConfig & {
5
5
  packageName: string;
@@ -16,8 +16,8 @@ export type KotlinModelsGeneratorOutput = {
16
16
  [schemaId: string]: KotlinModelGeneratorOutput;
17
17
  };
18
18
  };
19
- export type KotlinModelGeneratorOutput = KotlinImport & {
20
- additionalImports: KotlinImport[];
19
+ export type KotlinModelGeneratorOutput = {
20
+ type: kt.Reference<SourceBuilder>;
21
21
  };
22
22
  export type KotlinModelsGeneratorContext = OpenApiSchemasGenerationProviderContext<KotlinModelsGeneratorInput, KotlinModelsGeneratorOutput, KotlinModelsGeneratorConfig, KotlinModelGeneratorOutput>;
23
23
  export type KotlinModelGeneratorContext = KotlinModelsGeneratorContext & {
@@ -0,0 +1,66 @@
1
+ import { ApiEndpoint, ApiParameter, ApiSchema, SourceBuilder } from '@goast/core';
2
+ import { kt } from '../../../ast';
3
+ export type GetClientFileContent = {};
4
+ export type GetClientClass = {};
5
+ export type GetClientCompanionObject = {};
6
+ export type GetEndpointClientMembers = {
7
+ endpoint: ApiEndpoint;
8
+ parameters: ApiParameter[];
9
+ };
10
+ export type GetEndpointClientMethod = {
11
+ endpoint: ApiEndpoint;
12
+ parameters: ApiParameter[];
13
+ responseSchema: ApiSchema | undefined;
14
+ };
15
+ export type GetEndpointClientMethodBody = {
16
+ endpoint: ApiEndpoint;
17
+ parameters: ApiParameter[];
18
+ responseSchema: ApiSchema | undefined;
19
+ };
20
+ export type GetEndpointClientHttpInfoMethod = {
21
+ endpoint: ApiEndpoint;
22
+ parameters: ApiParameter[];
23
+ responseSchema: ApiSchema | undefined;
24
+ };
25
+ export type GetEndpointClientHttpInfoMethodBody = {
26
+ endpoint: ApiEndpoint;
27
+ parameters: ApiParameter[];
28
+ responseSchema: ApiSchema | undefined;
29
+ };
30
+ export type GetEndpointClientRequestConfigMethod = {
31
+ endpoint: ApiEndpoint;
32
+ parameters: ApiParameter[];
33
+ };
34
+ export type GetEndpointClientRequestConfigMethodBody = {
35
+ endpoint: ApiEndpoint;
36
+ };
37
+ export type GetAdditionalClientMembers = {};
38
+ export type GetTypeUsage<TBuilder extends SourceBuilder> = {
39
+ schema: ApiSchema | undefined;
40
+ nullable?: boolean;
41
+ fallback?: kt.Type<TBuilder>;
42
+ };
43
+ export type GetPackageName = {};
44
+ export type GetPathWithInterpolation = {
45
+ endpoint: ApiEndpoint;
46
+ };
47
+ export type GetResponseSchema = {
48
+ endpoint: ApiEndpoint;
49
+ };
50
+ export type GetSchemaType = {
51
+ schema: ApiSchema | undefined;
52
+ };
53
+ export type GetAllParameters = {
54
+ endpoint: ApiEndpoint;
55
+ };
56
+ export type GetRequestBodyParamName = {
57
+ endpoint: ApiEndpoint;
58
+ };
59
+ export type GetBasePath = {};
60
+ export type GetEndpointPath = {
61
+ endpoint: ApiEndpoint;
62
+ };
63
+ export type GetFilePath = {
64
+ packageName: string;
65
+ };
66
+ export type GetApiClientName = {};
@@ -1,3 +1,4 @@
1
1
  export * from './models';
2
2
  export * from './okhttp3-client-generator';
3
3
  export * from './okhttp3-clients-generator';
4
+ export * as DefaultKotlinOkHttp3GeneratorArgs from './args';
@@ -1,4 +1,5 @@
1
1
  import { ApiEndpoint, ApiService, DefaultGenerationProviderConfig, OpenApiServicesGenerationProviderContext } from '@goast/core';
2
+ import { getReferenceFactories } from './refs';
2
3
  import { KotlinImport } from '../../../common-results';
3
4
  import { KotlinGeneratorConfig } from '../../../config';
4
5
  import { KotlinModelsGeneratorOutput } from '../../models';
@@ -22,6 +23,7 @@ export type KotlinOkHttp3ClientsGeneratorOutput = {
22
23
  export type KotlinOkHttp3ClientGeneratorOutput = KotlinImport;
23
24
  export type KotlinOkHttp3ClientsGeneratorContext = OpenApiServicesGenerationProviderContext<KotlinOkHttp3ClientsGeneratorInput, KotlinOkHttp3ClientsGeneratorOutput, KotlinOkHttp3ClientsGeneratorConfig, KotlinOkHttp3ClientGeneratorOutput> & {
24
25
  infrastructurePackageName: string;
26
+ refs: ReturnType<typeof getReferenceFactories>;
25
27
  };
26
28
  export type KotlinOkHttp3ClientGeneratorContext = KotlinOkHttp3ClientsGeneratorContext & {
27
29
  service: ApiService;
@@ -1,9 +1,10 @@
1
- import { ApiEndpoint, ApiParameter, ApiSchema, ApiService } from '@goast/core';
1
+ import { ApiParameter, ApiSchema, AppendValueGroup, SourceBuilder } from '@goast/core';
2
+ import { DefaultKotlinOkHttp3GeneratorArgs as Args } from '.';
2
3
  import { KotlinOkHttp3ClientGeneratorContext, KotlinOkHttp3ClientGeneratorOutput } from './models';
4
+ import { kt } from '../../../ast';
3
5
  import { KotlinImport } from '../../../common-results';
4
6
  import { KotlinFileBuilder } from '../../../file-builder';
5
7
  import { KotlinFileGenerator } from '../../file-generator';
6
- import { KotlinModelGeneratorOutput } from '../../models';
7
8
  type Context = KotlinOkHttp3ClientGeneratorContext;
8
9
  type Output = KotlinOkHttp3ClientGeneratorOutput;
9
10
  type Builder = KotlinFileBuilder;
@@ -12,50 +13,27 @@ export interface KotlinOkHttp3Generator<TOutput extends Output = Output> {
12
13
  }
13
14
  export declare class DefaultKotlinOkHttp3Generator extends KotlinFileGenerator<Context, Output> implements KotlinOkHttp3Generator {
14
15
  generate(ctx: KotlinOkHttp3ClientGeneratorContext): KotlinImport;
15
- protected generateApiClientFileContent(ctx: Context, builder: Builder): void;
16
- protected generateApiClientClassAnnotations(ctx: Context, builder: Builder): void;
17
- protected generateApiClientClassSignature(ctx: Context, builder: Builder): void;
18
- protected generateApiClientClassContent(ctx: Context, builder: Builder): void;
19
- protected generateApiClientCompanionObject(ctx: Context, builder: Builder): void;
20
- protected generateApiClientCompanionObjectContent(ctx: Context, builder: Builder): void;
21
- protected generateApiClientCompanionObjectDefaultBasePathProperty(ctx: Context, builder: Builder): void;
22
- protected generateApiClientMethod(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
23
- protected generateApiClientMethodDocumentation(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
24
- protected generateApiClientMethodAnnotations(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
25
- protected generateApiClientMethodSignature(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
26
- protected generateApiClientMethodParameters(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
27
- protected generateApiClientMethodReturnType(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
28
- protected generateApiClientMethodContent(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
29
- protected generateApiClientHttpInfoMethod(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
30
- protected generateApiClientHttpInfoMethodDocumentation(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
31
- protected generateApiClientHttpInfoMethodAnnotations(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
32
- protected generateApiClientHttpInfoMethodSignature(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
33
- protected generateApiClientHttpInfoMethodSignatureParameters(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
34
- protected generateApiClientHttpInfoMethodReturnType(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
35
- protected generateApiClientHttpInfoMethodContent(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
36
- protected generateApiClientRequestConfigMethod(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
37
- protected generateApiClientRequestConfigMethodDocumentation(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
38
- protected generateApiClientRequestConfigMethodAnnotations(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
39
- protected generateApiClientRequestConfigMethodSignature(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
40
- protected generateApiClientRequestConfigMethodSignatureParameters(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
41
- protected generateApiClientRequestConfigMethodReturnType(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
42
- protected generateApiClientRequestConfigMethodContent(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
43
- protected generateAdditionalMethods(ctx: Context, builder: Builder): void;
44
- protected generateEncodeUriComponentMethod(ctx: Context, builder: Builder): void;
45
- protected generateParamDocEntries(ctx: Context, builder: Builder, endpoint: ApiEndpoint): void;
46
- protected generateParams(ctx: Context, builder: Builder, endpoint: ApiEndpoint, includeTypeDefinition: boolean): void;
47
- protected generateTypeUsage(ctx: Context, builder: Builder, schema: ApiSchema | undefined, fallback?: string, nullable?: boolean): void;
48
- protected getPackageName(ctx: Context, service: ApiService): string;
49
- protected getTypeNameWithNullability(typeName: string, nullable: boolean | undefined): string;
50
- protected getDefaultValue(ctx: Context, schema: ApiSchema | undefined): string;
51
- protected getPathWithInterpolation(ctx: Context, endpoint: ApiEndpoint): string;
52
- protected getResponseSchema(ctx: Context, endpoint: ApiEndpoint): ApiSchema | undefined;
53
- protected getSchemaInfo(ctx: Context, schema: ApiSchema | undefined): KotlinModelGeneratorOutput;
54
- protected getAllParameters(ctx: Context, endpoint: ApiEndpoint): ApiParameter[];
55
- protected getRequestBodyParamName(ctx: Context, endpoint: ApiEndpoint): string;
56
- protected getBasePath(ctx: Context): string;
57
- protected getEndpointPath(ctx: Context, endpoint: ApiEndpoint): string;
58
- protected getFilePath(ctx: Context, packageName: string): string;
59
- protected getApiClientName(ctx: Context): string;
16
+ protected getClientFileContent(ctx: Context, args: Args.GetClientFileContent): AppendValueGroup<Builder>;
17
+ protected getClientClass(ctx: Context, args: Args.GetClientClass): kt.Class<Builder>;
18
+ protected getClientCompanionObject(ctx: Context, args: Args.GetClientCompanionObject): kt.Object<Builder>;
19
+ protected getEndpointClientMembers(ctx: Context, args: Args.GetEndpointClientMembers): kt.ClassMember<Builder>[];
20
+ protected getEndpointClientMethod(ctx: Context, args: Args.GetEndpointClientMethod): kt.Function<Builder>;
21
+ protected getEndpointClientMethodBody(ctx: Context, args: Args.GetEndpointClientMethodBody): AppendValueGroup<Builder>;
22
+ protected getEndpointClientHttpInfoMethod(ctx: Context, args: Args.GetEndpointClientHttpInfoMethod): kt.Function<Builder>;
23
+ protected getEndpointClientHttpInfoMethodBody(ctx: Context, args: Args.GetEndpointClientHttpInfoMethodBody): AppendValueGroup<Builder>;
24
+ protected getEndpointClientRequestConfigMethod(ctx: Context, args: Args.GetEndpointClientRequestConfigMethod): kt.Function<Builder>;
25
+ protected getEndpointClientRequestConfigMethodBody(ctx: Context, args: Args.GetEndpointClientRequestConfigMethodBody): AppendValueGroup<Builder>;
26
+ protected getAdditionalClientMembers(ctx: Context, args: Args.GetAdditionalClientMembers): kt.ClassMember<Builder>[];
27
+ protected getTypeUsage(ctx: Context, args: Args.GetTypeUsage<Builder>): kt.Type<Builder>;
28
+ protected getPackageName(ctx: Context, args: Args.GetPackageName): string;
29
+ protected getPathWithInterpolation(ctx: Context, args: Args.GetPathWithInterpolation): string;
30
+ protected getResponseSchema(ctx: Context, args: Args.GetResponseSchema): ApiSchema | undefined;
31
+ protected getSchemaType(ctx: Context, args: Args.GetSchemaType): kt.Reference<SourceBuilder<never>, never> | undefined;
32
+ protected getAllParameters(ctx: Context, args: Args.GetAllParameters): ApiParameter[];
33
+ protected getRequestBodyParamName(ctx: Context, args: Args.GetRequestBodyParamName): string;
34
+ protected getBasePath(ctx: Context, args: Args.GetBasePath): string;
35
+ protected getEndpointPath(ctx: Context, args: Args.GetEndpointPath): string;
36
+ protected getFilePath(ctx: Context, args: Args.GetFilePath): string;
37
+ protected getApiClientName(ctx: Context, args: Args.GetApiClientName): string;
60
38
  }
61
39
  export {};
@@ -0,0 +1,235 @@
1
+ import { kt } from '../../../ast';
2
+ export declare function getReferenceFactories(infrastructurePackageName: string): {
3
+ multiValueMap: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
4
+ nullable?: import("@goast/core").Nullable<boolean>;
5
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
6
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
7
+ classReference?: import("@goast/core").Nullable<boolean>;
8
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
9
+ } | undefined) => kt.Reference<TBuilder, never>) & {
10
+ refName: string;
11
+ packageName: import("@goast/core").Nullable<string>;
12
+ matches: (value: unknown) => value is kt.Reference<never, never>;
13
+ };
14
+ collectionDelimiter: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
15
+ nullable?: import("@goast/core").Nullable<boolean>;
16
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
17
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
18
+ classReference?: import("@goast/core").Nullable<boolean>;
19
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
20
+ } | undefined) => kt.Reference<TBuilder, never>) & {
21
+ refName: string;
22
+ packageName: import("@goast/core").Nullable<string>;
23
+ matches: (value: unknown) => value is kt.Reference<never, never>;
24
+ };
25
+ defaultMultiValueConverter: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
26
+ nullable?: import("@goast/core").Nullable<boolean>;
27
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
28
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
29
+ classReference?: import("@goast/core").Nullable<boolean>;
30
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
31
+ } | undefined) => kt.Reference<TBuilder, never>) & {
32
+ refName: string;
33
+ packageName: import("@goast/core").Nullable<string>;
34
+ matches: (value: unknown) => value is kt.Reference<never, never>;
35
+ };
36
+ toMultiValueMap: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
37
+ nullable?: import("@goast/core").Nullable<boolean>;
38
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
39
+ classReference?: import("@goast/core").Nullable<boolean>;
40
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
41
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
42
+ refName: string;
43
+ packageName: import("@goast/core").Nullable<string>;
44
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
45
+ nullable?: import("@goast/core").Nullable<boolean>;
46
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
47
+ classReference?: import("@goast/core").Nullable<boolean>;
48
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
49
+ } | undefined) => kt.Reference<TBuilder_2, never>;
50
+ matches: (value: unknown) => value is kt.Reference<never, never>;
51
+ };
52
+ apiClient: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
53
+ nullable?: import("@goast/core").Nullable<boolean>;
54
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
55
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
56
+ classReference?: import("@goast/core").Nullable<boolean>;
57
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
58
+ } | undefined) => kt.Reference<TBuilder, never>) & {
59
+ refName: string;
60
+ packageName: import("@goast/core").Nullable<string>;
61
+ matches: (value: unknown) => value is kt.Reference<never, never>;
62
+ };
63
+ responseType: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
64
+ nullable?: import("@goast/core").Nullable<boolean>;
65
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
66
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
67
+ classReference?: import("@goast/core").Nullable<boolean>;
68
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
69
+ } | undefined) => kt.Reference<TBuilder, never>) & {
70
+ refName: string;
71
+ packageName: import("@goast/core").Nullable<string>;
72
+ matches: (value: unknown) => value is kt.Reference<never, never>;
73
+ };
74
+ apiResponse: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
75
+ nullable?: import("@goast/core").Nullable<boolean>;
76
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
77
+ classReference?: import("@goast/core").Nullable<boolean>;
78
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
79
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
80
+ refName: string;
81
+ packageName: import("@goast/core").Nullable<string>;
82
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
83
+ nullable?: import("@goast/core").Nullable<boolean>;
84
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
85
+ classReference?: import("@goast/core").Nullable<boolean>;
86
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
87
+ } | undefined) => kt.Reference<TBuilder_2, never>;
88
+ matches: (value: unknown) => value is kt.Reference<never, never>;
89
+ };
90
+ success: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
91
+ nullable?: import("@goast/core").Nullable<boolean>;
92
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
93
+ classReference?: import("@goast/core").Nullable<boolean>;
94
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
95
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
96
+ refName: string;
97
+ packageName: import("@goast/core").Nullable<string>;
98
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
99
+ nullable?: import("@goast/core").Nullable<boolean>;
100
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
101
+ classReference?: import("@goast/core").Nullable<boolean>;
102
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
103
+ } | undefined) => kt.Reference<TBuilder_2, never>;
104
+ matches: (value: unknown) => value is kt.Reference<never, never>;
105
+ };
106
+ informational: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
107
+ nullable?: import("@goast/core").Nullable<boolean>;
108
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
109
+ classReference?: import("@goast/core").Nullable<boolean>;
110
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
111
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
112
+ refName: string;
113
+ packageName: import("@goast/core").Nullable<string>;
114
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
115
+ nullable?: import("@goast/core").Nullable<boolean>;
116
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
117
+ classReference?: import("@goast/core").Nullable<boolean>;
118
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
119
+ } | undefined) => kt.Reference<TBuilder_2, never>;
120
+ matches: (value: unknown) => value is kt.Reference<never, never>;
121
+ };
122
+ redirection: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
123
+ nullable?: import("@goast/core").Nullable<boolean>;
124
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
125
+ classReference?: import("@goast/core").Nullable<boolean>;
126
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
127
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
128
+ refName: string;
129
+ packageName: import("@goast/core").Nullable<string>;
130
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
131
+ nullable?: import("@goast/core").Nullable<boolean>;
132
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
133
+ classReference?: import("@goast/core").Nullable<boolean>;
134
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
135
+ } | undefined) => kt.Reference<TBuilder_2, never>;
136
+ matches: (value: unknown) => value is kt.Reference<never, never>;
137
+ };
138
+ clientError: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
139
+ nullable?: import("@goast/core").Nullable<boolean>;
140
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
141
+ classReference?: import("@goast/core").Nullable<boolean>;
142
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
143
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
144
+ refName: string;
145
+ packageName: import("@goast/core").Nullable<string>;
146
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
147
+ nullable?: import("@goast/core").Nullable<boolean>;
148
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
149
+ classReference?: import("@goast/core").Nullable<boolean>;
150
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
151
+ } | undefined) => kt.Reference<TBuilder_2, never>;
152
+ matches: (value: unknown) => value is kt.Reference<never, never>;
153
+ };
154
+ serverError: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
155
+ nullable?: import("@goast/core").Nullable<boolean>;
156
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
157
+ classReference?: import("@goast/core").Nullable<boolean>;
158
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
159
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
160
+ refName: string;
161
+ packageName: import("@goast/core").Nullable<string>;
162
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
163
+ nullable?: import("@goast/core").Nullable<boolean>;
164
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
165
+ classReference?: import("@goast/core").Nullable<boolean>;
166
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
167
+ } | undefined) => kt.Reference<TBuilder_2, never>;
168
+ matches: (value: unknown) => value is kt.Reference<never, never>;
169
+ };
170
+ clientException: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
171
+ nullable?: import("@goast/core").Nullable<boolean>;
172
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
173
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
174
+ classReference?: import("@goast/core").Nullable<boolean>;
175
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
176
+ } | undefined) => kt.Reference<TBuilder, never>) & {
177
+ refName: string;
178
+ packageName: import("@goast/core").Nullable<string>;
179
+ matches: (value: unknown) => value is kt.Reference<never, never>;
180
+ };
181
+ serverException: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
182
+ nullable?: import("@goast/core").Nullable<boolean>;
183
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
184
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
185
+ classReference?: import("@goast/core").Nullable<boolean>;
186
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
187
+ } | undefined) => kt.Reference<TBuilder, never>) & {
188
+ refName: string;
189
+ packageName: import("@goast/core").Nullable<string>;
190
+ matches: (value: unknown) => value is kt.Reference<never, never>;
191
+ };
192
+ partConfig: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
193
+ nullable?: import("@goast/core").Nullable<boolean>;
194
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
195
+ classReference?: import("@goast/core").Nullable<boolean>;
196
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
197
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
198
+ refName: string;
199
+ packageName: import("@goast/core").Nullable<string>;
200
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
201
+ nullable?: import("@goast/core").Nullable<boolean>;
202
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
203
+ classReference?: import("@goast/core").Nullable<boolean>;
204
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
205
+ } | undefined) => kt.Reference<TBuilder_2, never>;
206
+ matches: (value: unknown) => value is kt.Reference<never, never>;
207
+ };
208
+ requestConfig: (<TBuilder_1 extends import("@goast/core").SourceBuilder<never>>(generics: [kt.Type<TBuilder_1>], options?: {
209
+ nullable?: import("@goast/core").Nullable<boolean>;
210
+ inject?: import("@goast/core").AstNodeInject<TBuilder_1, ""> | undefined;
211
+ classReference?: import("@goast/core").Nullable<boolean>;
212
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_1, never> | kt.Call<TBuilder_1, never>>;
213
+ } | undefined) => kt.Reference<TBuilder_1, never>) & {
214
+ refName: string;
215
+ packageName: import("@goast/core").Nullable<string>;
216
+ infer: <TBuilder_2 extends import("@goast/core").SourceBuilder<never>>(options?: {
217
+ nullable?: import("@goast/core").Nullable<boolean>;
218
+ inject?: import("@goast/core").AstNodeInject<TBuilder_2, ""> | undefined;
219
+ classReference?: import("@goast/core").Nullable<boolean>;
220
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder_2, never> | kt.Call<TBuilder_2, never>>;
221
+ } | undefined) => kt.Reference<TBuilder_2, never>;
222
+ matches: (value: unknown) => value is kt.Reference<never, never>;
223
+ };
224
+ requestMethod: (<TBuilder extends import("@goast/core").SourceBuilder<never>>(options?: {
225
+ nullable?: import("@goast/core").Nullable<boolean>;
226
+ inject?: import("@goast/core").AstNodeInject<TBuilder, ""> | undefined;
227
+ generics?: import("@goast/core").Nullable<import("@goast/core").Nullable<kt.Type<TBuilder>>[]>;
228
+ classReference?: import("@goast/core").Nullable<boolean>;
229
+ subReference?: import("@goast/core").Nullable<kt.Reference<TBuilder, never> | kt.Call<TBuilder, never>>;
230
+ } | undefined) => kt.Reference<TBuilder, never>) & {
231
+ refName: string;
232
+ packageName: import("@goast/core").Nullable<string>;
233
+ matches: (value: unknown) => value is kt.Reference<never, never>;
234
+ };
235
+ };