@apollo-deploy/tesseract 1.8.0 → 2.0.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 (194) hide show
  1. package/README.md +218 -110
  2. package/dist/adapters/csharp/index.d.ts +5 -8
  3. package/dist/adapters/csharp/index.d.ts.map +1 -1
  4. package/dist/adapters/csharp/index.js +314 -74
  5. package/dist/adapters/csharp/index.js.map +1 -1
  6. package/dist/adapters/documentation.d.ts +17 -0
  7. package/dist/adapters/documentation.d.ts.map +1 -0
  8. package/dist/adapters/documentation.js +268 -0
  9. package/dist/adapters/documentation.js.map +1 -0
  10. package/dist/adapters/go/index.d.ts +5 -8
  11. package/dist/adapters/go/index.d.ts.map +1 -1
  12. package/dist/adapters/go/index.js +197 -101
  13. package/dist/adapters/go/index.js.map +1 -1
  14. package/dist/adapters/kotlin/index.d.ts +5 -9
  15. package/dist/adapters/kotlin/index.d.ts.map +1 -1
  16. package/dist/adapters/kotlin/index.js +280 -212
  17. package/dist/adapters/kotlin/index.js.map +1 -1
  18. package/dist/adapters/php/index.d.ts +5 -15
  19. package/dist/adapters/php/index.d.ts.map +1 -1
  20. package/dist/adapters/php/index.js +362 -90
  21. package/dist/adapters/php/index.js.map +1 -1
  22. package/dist/adapters/python/index.d.ts +5 -8
  23. package/dist/adapters/python/index.d.ts.map +1 -1
  24. package/dist/adapters/python/index.js +240 -109
  25. package/dist/adapters/python/index.js.map +1 -1
  26. package/dist/adapters/ruby/index.d.ts +3 -3
  27. package/dist/adapters/ruby/index.d.ts.map +1 -1
  28. package/dist/adapters/ruby/index.js +235 -46
  29. package/dist/adapters/ruby/index.js.map +1 -1
  30. package/dist/adapters/rust/index.d.ts +5 -9
  31. package/dist/adapters/rust/index.d.ts.map +1 -1
  32. package/dist/adapters/rust/index.js +237 -169
  33. package/dist/adapters/rust/index.js.map +1 -1
  34. package/dist/adapters/shared.d.ts +7 -0
  35. package/dist/adapters/shared.d.ts.map +1 -0
  36. package/dist/adapters/shared.js +68 -0
  37. package/dist/adapters/shared.js.map +1 -0
  38. package/dist/adapters/type-utils.d.ts +13 -0
  39. package/dist/adapters/type-utils.d.ts.map +1 -0
  40. package/dist/adapters/type-utils.js +105 -0
  41. package/dist/adapters/type-utils.js.map +1 -0
  42. package/dist/adapters/types.d.ts.map +1 -1
  43. package/dist/adapters/typescript/emitter/emitSchema.d.ts +2 -2
  44. package/dist/adapters/typescript/emitter/emitSchema.js +39 -27
  45. package/dist/adapters/typescript/emitter/emitSchema.js.map +1 -1
  46. package/dist/adapters/typescript/emitter/emitTypeScriptModels.d.ts +2 -2
  47. package/dist/adapters/typescript/emitter/emitTypeScriptModels.js +15 -15
  48. package/dist/adapters/typescript/emitter/importCollector.d.ts +2 -4
  49. package/dist/adapters/typescript/emitter/importCollector.d.ts.map +1 -1
  50. package/dist/adapters/typescript/emitter/importCollector.js +40 -50
  51. package/dist/adapters/typescript/emitter/importCollector.js.map +1 -1
  52. package/dist/adapters/typescript/emitter/parsers.d.ts +1 -1
  53. package/dist/adapters/typescript/emitter/parsers.js +13 -13
  54. package/dist/adapters/typescript/emitter/typeHoister.d.ts +1 -1
  55. package/dist/adapters/typescript/emitter/typeHoister.d.ts.map +1 -1
  56. package/dist/adapters/typescript/emitter/typeHoister.js +12 -20
  57. package/dist/adapters/typescript/emitter/typeHoister.js.map +1 -1
  58. package/dist/adapters/typescript/index.d.ts +3 -3
  59. package/dist/adapters/typescript/index.d.ts.map +1 -1
  60. package/dist/adapters/typescript/index.js +148 -166
  61. package/dist/adapters/typescript/index.js.map +1 -1
  62. package/dist/adapters/typescript/shared.d.ts +2 -2
  63. package/dist/adapters/typescript/shared.js +12 -12
  64. package/dist/cli.js +50 -37
  65. package/dist/cli.js.map +1 -1
  66. package/dist/collector.d.ts +77 -3
  67. package/dist/collector.d.ts.map +1 -1
  68. package/dist/collector.js +198 -20
  69. package/dist/collector.js.map +1 -1
  70. package/dist/elysia.js +2 -2
  71. package/dist/elysia.js.map +1 -1
  72. package/dist/express.d.ts.map +1 -1
  73. package/dist/express.js.map +1 -1
  74. package/dist/fastify.d.ts +8 -9
  75. package/dist/fastify.d.ts.map +1 -1
  76. package/dist/fastify.js +105 -164
  77. package/dist/fastify.js.map +1 -1
  78. package/dist/helpers/handlebars.d.ts +7 -16
  79. package/dist/helpers/handlebars.d.ts.map +1 -1
  80. package/dist/helpers/handlebars.js +127 -177
  81. package/dist/helpers/handlebars.js.map +1 -1
  82. package/dist/hono.d.ts.map +1 -1
  83. package/dist/hono.js.map +1 -1
  84. package/dist/index.d.ts +14 -12
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +32 -30
  87. package/dist/index.js.map +1 -1
  88. package/dist/koa.d.ts.map +1 -1
  89. package/dist/koa.js.map +1 -1
  90. package/dist/nestjs.d.ts.map +1 -1
  91. package/dist/nestjs.js +41 -14
  92. package/dist/nestjs.js.map +1 -1
  93. package/dist/pipeline/enrich.d.ts +2 -13
  94. package/dist/pipeline/enrich.d.ts.map +1 -1
  95. package/dist/pipeline/enrich.js +157 -212
  96. package/dist/pipeline/enrich.js.map +1 -1
  97. package/dist/pipeline/intake.d.ts +3 -3
  98. package/dist/pipeline/intake.d.ts.map +1 -1
  99. package/dist/pipeline/intake.js +342 -238
  100. package/dist/pipeline/intake.js.map +1 -1
  101. package/dist/pipeline/write.d.ts +1 -14
  102. package/dist/pipeline/write.d.ts.map +1 -1
  103. package/dist/pipeline/write.js +73 -113
  104. package/dist/pipeline/write.js.map +1 -1
  105. package/dist/types/config.d.ts +14 -26
  106. package/dist/types/config.d.ts.map +1 -1
  107. package/dist/types/config.js +16 -12
  108. package/dist/types/config.js.map +1 -1
  109. package/dist/types/ir.d.ts +12 -8
  110. package/dist/types/ir.d.ts.map +1 -1
  111. package/dist/types/manifest.d.ts +10 -11
  112. package/dist/types/manifest.d.ts.map +1 -1
  113. package/dist/types/manifest.js +54 -14
  114. package/dist/types/manifest.js.map +1 -1
  115. package/dist/types/sdk-module.d.ts +2 -2
  116. package/dist/types/sdk-module.js +1 -1
  117. package/dist/utils/format.d.ts +1 -3
  118. package/dist/utils/format.d.ts.map +1 -1
  119. package/dist/utils/format.js +3 -10
  120. package/dist/utils/format.js.map +1 -1
  121. package/dist/utils/naming.d.ts.map +1 -1
  122. package/dist/utils/naming.js +174 -184
  123. package/dist/utils/naming.js.map +1 -1
  124. package/dist/utils/npm-token.d.ts +1 -17
  125. package/dist/utils/npm-token.d.ts.map +1 -1
  126. package/dist/utils/npm-token.js +27 -76
  127. package/dist/utils/npm-token.js.map +1 -1
  128. package/dist/utils/version.d.ts +14 -0
  129. package/dist/utils/version.d.ts.map +1 -0
  130. package/dist/utils/version.js +60 -0
  131. package/dist/utils/version.js.map +1 -0
  132. package/package.json +4 -3
  133. package/templates/csharp/client.hbs +26 -49
  134. package/templates/csharp/csproj.hbs +7 -0
  135. package/templates/csharp/domain.hbs +48 -130
  136. package/templates/csharp/errors.hbs +17 -25
  137. package/templates/csharp/readme.hbs +31 -44
  138. package/templates/csharp/transport.hbs +238 -136
  139. package/templates/csharp/types.hbs +30 -76
  140. package/templates/go/client.hbs +44 -109
  141. package/templates/go/domain.hbs +83 -25
  142. package/templates/go/go-mod.hbs +1 -4
  143. package/templates/go/readme.hbs +32 -29
  144. package/templates/go/transport.hbs +174 -173
  145. package/templates/go/types.hbs +17 -53
  146. package/templates/go/utils.hbs +3 -2
  147. package/templates/kotlin/build-gradle.hbs +1 -1
  148. package/templates/kotlin/client.hbs +18 -15
  149. package/templates/kotlin/domain.hbs +54 -51
  150. package/templates/kotlin/errors.hbs +1 -1
  151. package/templates/kotlin/readme.hbs +35 -137
  152. package/templates/kotlin/transport.hbs +140 -123
  153. package/templates/kotlin/types.hbs +30 -81
  154. package/templates/php/client.hbs +8 -46
  155. package/templates/php/composer.hbs +2 -1
  156. package/templates/php/domain.hbs +86 -117
  157. package/templates/php/errors.hbs +1 -1
  158. package/templates/php/readme.hbs +42 -49
  159. package/templates/php/transport.hbs +192 -145
  160. package/templates/php/types.hbs +63 -60
  161. package/templates/python/client.hbs +15 -2
  162. package/templates/python/domain.hbs +50 -108
  163. package/templates/python/pyproject.hbs +5 -0
  164. package/templates/python/readme.hbs +47 -30
  165. package/templates/python/resources-init.hbs +1 -1
  166. package/templates/python/transport.hbs +167 -53
  167. package/templates/python/types.hbs +22 -58
  168. package/templates/ruby/client.hbs +10 -6
  169. package/templates/ruby/domain.hbs +48 -67
  170. package/templates/ruby/errors.hbs +3 -3
  171. package/templates/ruby/gemspec.hbs +3 -10
  172. package/templates/ruby/index.hbs +3 -3
  173. package/templates/ruby/readme.hbs +33 -70
  174. package/templates/ruby/transport.hbs +129 -103
  175. package/templates/ruby/types.hbs +11 -16
  176. package/templates/ruby/version.hbs +1 -1
  177. package/templates/rust/cargo.hbs +2 -0
  178. package/templates/rust/client.hbs +10 -1
  179. package/templates/rust/domain.hbs +69 -52
  180. package/templates/rust/error.hbs +3 -1
  181. package/templates/rust/lib.hbs +4 -5
  182. package/templates/rust/readme.hbs +33 -46
  183. package/templates/rust/transport.hbs +170 -159
  184. package/templates/rust/types.hbs +34 -111
  185. package/templates/typescript/domain-class.hbs +14 -6
  186. package/templates/typescript/domain.hbs +13 -5
  187. package/templates/typescript/package-json.hbs +3 -1
  188. package/templates/typescript/readme.hbs +42 -42
  189. package/templates/typescript/transport.hbs +46 -8
  190. package/templates/typescript/types-errors.hbs +1 -1
  191. package/dist/adapters/typescript/model-emitter.d.ts +0 -13
  192. package/dist/adapters/typescript/model-emitter.d.ts.map +0 -1
  193. package/dist/adapters/typescript/model-emitter.js +0 -415
  194. package/dist/adapters/typescript/model-emitter.js.map +0 -1
@@ -1,99 +1,339 @@
1
- /**
2
- * C# (dotnet) language adapter.
3
- * Generates an idiomatic C# SDK targeting net8.0 with System.Text.Json.
4
- */
5
- import { join } from "node:path";
6
- import { getTemplate, registerHelpers, collectImports, } from "../../helpers/handlebars.js";
7
- import { pascalCase } from "change-case";
1
+ /** C# language adapter targeting .NET 8. */
2
+ import { join } from 'node:path';
3
+ import { camelCase, pascalCase } from 'change-case';
4
+ import { getTemplate, registerHelpers } from '../../helpers/handlebars.js';
5
+ import { genericArgument, genericArguments, isBooleanLiteral, isInlineObject, isNumberLiteral, isStringLiteral, splitTopLevel, stripOuterParens, unwrapNullable, } from '../type-utils.js';
6
+ import { getPackageVersion, getVisibleGroups, getVisibleSchemas, hasEventStreams, } from '../shared.js';
7
+ import { createDocumentationFiles } from '../documentation.js';
8
+ const CSHARP_PRIMITIVES = {
9
+ string: 'string',
10
+ number: 'double',
11
+ integer: 'long',
12
+ boolean: 'bool',
13
+ any: 'JsonElement',
14
+ unknown: 'JsonElement',
15
+ never: 'JsonElement',
16
+ void: 'void',
17
+ };
18
+ const VALUE_TYPES = new Set([
19
+ 'bool',
20
+ 'byte',
21
+ 'short',
22
+ 'int',
23
+ 'long',
24
+ 'float',
25
+ 'double',
26
+ 'decimal',
27
+ 'DateTimeOffset',
28
+ 'JsonElement',
29
+ ]);
30
+ const CSHARP_KEYWORDS = new Set([
31
+ 'abstract',
32
+ 'as',
33
+ 'base',
34
+ 'bool',
35
+ 'break',
36
+ 'byte',
37
+ 'case',
38
+ 'catch',
39
+ 'char',
40
+ 'checked',
41
+ 'class',
42
+ 'const',
43
+ 'continue',
44
+ 'decimal',
45
+ 'default',
46
+ 'delegate',
47
+ 'do',
48
+ 'double',
49
+ 'else',
50
+ 'enum',
51
+ 'event',
52
+ 'explicit',
53
+ 'extern',
54
+ 'false',
55
+ 'finally',
56
+ 'fixed',
57
+ 'float',
58
+ 'for',
59
+ 'foreach',
60
+ 'goto',
61
+ 'if',
62
+ 'implicit',
63
+ 'in',
64
+ 'int',
65
+ 'interface',
66
+ 'internal',
67
+ 'is',
68
+ 'lock',
69
+ 'long',
70
+ 'namespace',
71
+ 'new',
72
+ 'null',
73
+ 'object',
74
+ 'operator',
75
+ 'out',
76
+ 'override',
77
+ 'params',
78
+ 'private',
79
+ 'protected',
80
+ 'public',
81
+ 'readonly',
82
+ 'ref',
83
+ 'return',
84
+ 'sbyte',
85
+ 'sealed',
86
+ 'short',
87
+ 'sizeof',
88
+ 'stackalloc',
89
+ 'static',
90
+ 'string',
91
+ 'struct',
92
+ 'switch',
93
+ 'this',
94
+ 'throw',
95
+ 'true',
96
+ 'try',
97
+ 'typeof',
98
+ 'uint',
99
+ 'ulong',
100
+ 'unchecked',
101
+ 'unsafe',
102
+ 'ushort',
103
+ 'using',
104
+ 'virtual',
105
+ 'void',
106
+ 'volatile',
107
+ 'while',
108
+ ]);
109
+ function csharpIdentifier(value) {
110
+ const name = camelCase(value) || 'value';
111
+ const valid = /^[A-Za-z_]/.test(name) ? name : `value${pascalCase(name)}`;
112
+ return CSHARP_KEYWORDS.has(valid) ? `@${valid}` : valid;
113
+ }
114
+ function csharpTypeName(value, suffix = 'Type') {
115
+ const name = pascalCase(value) || suffix;
116
+ const valid = /^[A-Za-z_]/.test(name) ? name : `${suffix}${name}`;
117
+ return CSHARP_KEYWORDS.has(valid.toLowerCase()) ? `${valid}${suffix}` : valid;
118
+ }
119
+ const EMPTY_TYPE_NAMES = new Map();
120
+ function csharpBaseType(value, typeNames = EMPTY_TYPE_NAMES) {
121
+ const { type } = unwrapNullable(value);
122
+ const normalized = stripOuterParens(type);
123
+ const union = splitTopLevel(normalized, '|');
124
+ if (union.length > 1) {
125
+ if (union.every(isStringLiteral))
126
+ return 'string';
127
+ if (union.every(isNumberLiteral))
128
+ return 'double';
129
+ if (union.every(isBooleanLiteral))
130
+ return 'bool';
131
+ return 'JsonElement';
132
+ }
133
+ if (splitTopLevel(normalized, '&').length > 1 || isInlineObject(normalized)) {
134
+ return 'Dictionary<string, JsonElement>';
135
+ }
136
+ if (isStringLiteral(normalized))
137
+ return 'string';
138
+ if (isNumberLiteral(normalized))
139
+ return 'double';
140
+ if (isBooleanLiteral(normalized))
141
+ return 'bool';
142
+ if (CSHARP_PRIMITIVES[normalized])
143
+ return CSHARP_PRIMITIVES[normalized];
144
+ const array = genericArgument(normalized, 'Array');
145
+ if (array !== undefined)
146
+ return `List<${csharpBaseType(array, typeNames)}>`;
147
+ const record = genericArguments(normalized, 'Record');
148
+ if (record?.length === 2) {
149
+ return `Dictionary<string, ${csharpBaseType(record[1], typeNames)}>`;
150
+ }
151
+ const map = genericArgument(normalized, 'Map');
152
+ if (map !== undefined)
153
+ return `Dictionary<string, ${csharpBaseType(map, typeNames)}>`;
154
+ return typeNames.get(normalized) ?? normalized;
155
+ }
156
+ function csharpType(value, nullable = false, typeNames = EMPTY_TYPE_NAMES) {
157
+ const unwrapped = unwrapNullable(value);
158
+ const base = csharpBaseType(unwrapped.type, typeNames);
159
+ return (nullable || unwrapped.nullable) && base !== 'void'
160
+ ? `${base}?`
161
+ : base;
162
+ }
163
+ function enumMember(value, index) {
164
+ const name = pascalCase(String(value)) || `Value${index + 1}`;
165
+ return {
166
+ name: /^\d/.test(name) ? `Value${name}` : name,
167
+ value: String(value).replace(/\\/g, '\\\\').replace(/"/g, '\\"'),
168
+ };
169
+ }
170
+ function transformProperty(property, typeNames) {
171
+ const targetType = unwrapNullable(property.type).type === 'string' &&
172
+ (property.format === 'date' || property.format === 'date-time')
173
+ ? csharpType('DateTimeOffset', !property.required || !!property.nullable, typeNames)
174
+ : csharpType(property.type, !property.required || !!property.nullable, typeNames);
175
+ const base = targetType.replace(/\?$/, '');
176
+ return {
177
+ ...property,
178
+ propertyName: csharpTypeName(property.name, 'Property'),
179
+ targetType,
180
+ optional: !property.required || !!property.nullable,
181
+ initializer: property.required && !VALUE_TYPES.has(base) && !targetType.endsWith('?')
182
+ ? ' = default!;'
183
+ : '',
184
+ };
185
+ }
186
+ function transformSchema(schema, typeNames) {
187
+ return {
188
+ ...schema,
189
+ targetName: typeNames.get(schema.name) ?? schema.name,
190
+ targetExtends: schema.extends
191
+ ? (typeNames.get(schema.extends) ?? schema.extends)
192
+ : undefined,
193
+ external: schema.ownership?.kind === 'external',
194
+ targetAliasType: schema.aliasType
195
+ ? csharpBaseType(schema.aliasType, typeNames)
196
+ : 'JsonElement',
197
+ enumValues: (schema.enumValues ?? []).map(enumMember),
198
+ properties: schema.properties.map((property) => transformProperty(property, typeNames)),
199
+ };
200
+ }
201
+ function resolveTypeNames(schemas) {
202
+ const names = new Map(schemas.map((schema) => [schema.name, csharpTypeName(schema.name)]));
203
+ for (let pass = 0; pass < schemas.length; pass += 1) {
204
+ for (const schema of schemas) {
205
+ if (schema.isTypeAlias && schema.aliasType) {
206
+ names.set(schema.name, csharpBaseType(schema.aliasType, names));
207
+ }
208
+ }
209
+ }
210
+ return names;
211
+ }
212
+ function transformOperation(operation, typeNames) {
213
+ const pathParams = operation.pathParams.map((parameter) => ({
214
+ ...parameter,
215
+ parameterName: csharpIdentifier(parameter.name),
216
+ placeholder: `\${${parameter.name}}`,
217
+ }));
218
+ const bodyType = operation.requestBody
219
+ ? csharpType(operation.requestBody.type, !operation.requestBody.required, typeNames)
220
+ : undefined;
221
+ const queryRequired = operation.queryParams.some((parameter) => parameter.required);
222
+ const headersRequired = operation.headerParams.some((parameter) => parameter.required);
223
+ const required = pathParams.map((parameter) => `${csharpType(parameter.type, false, typeNames)} ${parameter.parameterName}`);
224
+ const optional = [];
225
+ if (operation.requestBody?.required)
226
+ required.push(`${bodyType} body`);
227
+ if (operation.queryParams.length) {
228
+ const parameter = 'IReadOnlyDictionary<string, object?> query';
229
+ (queryRequired ? required : optional).push(queryRequired
230
+ ? parameter
231
+ : 'IReadOnlyDictionary<string, object?>? query = null');
232
+ }
233
+ if (operation.headerParams.length) {
234
+ const parameter = 'IReadOnlyDictionary<string, string> headers';
235
+ (headersRequired ? required : optional).push(headersRequired
236
+ ? parameter
237
+ : 'IReadOnlyDictionary<string, string>? headers = null');
238
+ }
239
+ if (operation.requestBody && !operation.requestBody.required) {
240
+ optional.push(`${bodyType} body = null`);
241
+ }
242
+ return {
243
+ ...operation,
244
+ methodName: csharpTypeName(operation.name, 'Method'),
245
+ signature: [...required, ...optional].join(',\n '),
246
+ hasParameters: required.length + optional.length > 0,
247
+ targetResponseType: csharpType(operation.responseType, false, typeNames),
248
+ isVoid: operation.responseType === 'void',
249
+ hasQuery: operation.queryParams.length > 0,
250
+ hasHeaders: operation.headerParams.length > 0,
251
+ pathParams,
252
+ requestBody: operation.requestBody
253
+ ? { ...operation.requestBody, targetType: bodyType }
254
+ : undefined,
255
+ };
256
+ }
8
257
  export class CSharpAdapter {
9
- language = "csharp";
10
- async emit(enriched, outputDir, config) {
258
+ language = 'csharp';
259
+ async emit(enriched, _outputDir, config) {
11
260
  registerHelpers();
12
261
  const files = [];
13
- const warnings = [];
14
- const schemaNames = new Set(enriched.schemas.map((s) => s.name));
15
- const clientType = config?.clientType ?? "internal";
16
- // ── Visibility filtering ───────────────────────────────────────────────
17
- const visibleGroups = [];
18
- for (const g of enriched.groups) {
19
- if (clientType === "public" && g.visibility === "internal")
20
- continue;
21
- const ops = clientType === "public"
22
- ? g.operations.filter((op) => op.visibility !== "internal")
23
- : g.operations;
24
- if (ops.length === 0)
25
- continue;
26
- visibleGroups.push(ops === g.operations ? g : { ...g, operations: ops });
27
- }
28
- const hasSSE = visibleGroups.some((g) => g.operations.some((op) => op.isEventStream));
29
- // Derive namespace and project name from package name
30
- const ns = enriched.meta.packageName
31
- .split("/")
32
- .map((s) => pascalCase(s))
33
- .join(".");
34
- const projectName = enriched.meta.clientName ||
35
- enriched.meta.packageName.split("/").pop() ||
36
- "sdk";
37
- const pascalProjectName = pascalCase(projectName);
38
- // ── Emit helper ────────────────────────────────────────────────────────
39
- const emit = (relativePath, templateName, ctx) => {
40
- try {
41
- const tpl = getTemplate("csharp", templateName);
42
- files.push({ relativePath, content: tpl(ctx) });
43
- }
44
- catch (err) {
45
- warnings.push(`${relativePath}: ${err instanceof Error ? err.message : String(err)}`);
46
- }
262
+ const clientType = config?.clientType ?? 'internal';
263
+ const visibleGroups = getVisibleGroups(enriched, clientType);
264
+ const visibleSchemas = getVisibleSchemas(enriched, visibleGroups, clientType);
265
+ const typeNames = resolveTypeNames(visibleSchemas);
266
+ const schemas = visibleSchemas.map((schema) => transformSchema(schema, typeNames));
267
+ const namespace = enriched.meta.packageName
268
+ .replace(/^@/, '')
269
+ .split(/[/-]/)
270
+ .filter(Boolean)
271
+ .map((part) => pascalCase(part))
272
+ .join('.');
273
+ const projectName = pascalCase(enriched.meta.clientName ||
274
+ enriched.meta.packageName.split('/').pop() ||
275
+ 'Sdk');
276
+ const packageVersion = getPackageVersion(enriched);
277
+ const hasSSE = hasEventStreams(visibleGroups);
278
+ const emit = (relativePath, templateName, context) => {
279
+ files.push({
280
+ relativePath,
281
+ content: getTemplate('csharp', templateName)(context),
282
+ });
47
283
  };
48
- // ── Root files ─────────────────────────────────────────────────────────
49
- emit(`${pascalProjectName}.csproj`, "csproj", {
284
+ emit(`${projectName}.csproj`, 'csproj', {
50
285
  ...enriched.meta,
51
- packageName: enriched.meta.packageName,
52
- packageVersion: enriched.meta.packageVersion || enriched.meta.version || "1.0.0",
53
- projectName: pascalProjectName,
286
+ packageVersion,
287
+ projectName,
288
+ namespace,
54
289
  });
55
- emit("README.md", "readme", {
290
+ emit('README.md', 'readme', {
56
291
  ...enriched.meta,
292
+ packageVersion,
57
293
  groups: visibleGroups,
58
- schemas: enriched.schemas,
294
+ schemas,
59
295
  securitySchemes: enriched.securitySchemes,
60
296
  hasSSE,
61
- namespace: ns,
62
- projectName: pascalProjectName,
297
+ namespace,
298
+ projectName,
63
299
  });
64
- // ── Core source files ──────────────────────────────────────────────────
65
- emit("Client.cs", "client", {
300
+ emit('Client.cs', 'client', {
66
301
  ...enriched.meta,
302
+ packageVersion,
67
303
  groups: visibleGroups,
68
304
  securitySchemes: enriched.securitySchemes,
69
305
  hasSSE,
70
- namespace: ns,
71
- clientName: enriched.meta.clientName || pascalProjectName,
306
+ namespace,
307
+ clientName: enriched.meta.clientName || projectName,
72
308
  });
73
- emit("Transport.cs", "transport", {
309
+ emit('Transport.cs', 'transport', {
74
310
  securitySchemes: enriched.securitySchemes,
75
- namespace: ns,
76
- });
77
- emit("Errors.cs", "errors", {
78
- namespace: ns,
79
- });
80
- emit("Types.cs", "types", {
81
- schemas: enriched.schemas,
82
- namespace: ns,
311
+ namespace,
312
+ packageName: enriched.meta.packageName,
313
+ packageVersion,
83
314
  });
84
- // ── Domain files ───────────────────────────────────────────────────────
315
+ emit('Errors.cs', 'errors', { namespace });
316
+ emit('Types.cs', 'types', { schemas, namespace });
85
317
  for (const group of visibleGroups) {
86
- const imports = collectImports(group.operations, schemaNames);
87
- const groupHasSSE = group.operations.some((op) => op.isEventStream);
88
- emit(join("Api", `${group.fileName}.cs`), "domain", {
318
+ emit(join('Api', `${group.fileName}.cs`), 'domain', {
89
319
  ...group,
90
- imports,
91
- hasSSE: groupHasSSE,
92
- securitySchemes: enriched.securitySchemes,
93
- namespace: ns,
320
+ operations: group.operations.map((operation) => transformOperation(operation, typeNames)),
321
+ namespace,
94
322
  });
95
323
  }
96
- return { files, warnings };
324
+ files.push(...createDocumentationFiles({
325
+ meta: enriched.meta,
326
+ groups: visibleGroups,
327
+ schemas: visibleSchemas,
328
+ naming: {
329
+ language: 'C#',
330
+ groupAccessor: (group) => `client.${pascalCase(group.name)}`,
331
+ methodName: (operation) => `${csharpTypeName(operation.name, 'Method')}Async`,
332
+ typeName: (type) => csharpType(type, false, typeNames),
333
+ sourcePath: (group) => join('Api', `${group.fileName}.cs`),
334
+ },
335
+ }));
336
+ return { files, warnings: [] };
97
337
  }
98
338
  }
99
339
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/csharp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/csharp/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,iBAAiB,GAA2B;IAChD,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,aAAa;IAClB,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,aAAa;IACpB,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,SAAS;IACT,gBAAgB;IAChB,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,UAAU;IACV,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,OAAO;IACP,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,KAAK;IACL,SAAS;IACT,MAAM;IACN,IAAI;IACJ,UAAU;IACV,IAAI;IACJ,KAAK;IACL,WAAW;IACX,UAAU;IACV,IAAI;IACJ,MAAM;IACN,MAAM;IACN,WAAW;IACX,KAAK;IACL,MAAM;IACN,QAAQ;IACR,UAAU;IACV,KAAK;IACL,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,QAAQ;IACR,UAAU;IACV,KAAK;IACL,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,SAAS;IACT,MAAM;IACN,UAAU;IACV,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1E,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,MAAM,GAAG,MAAM;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC;IAClE,OAAO,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAChF,CAAC;AAED,MAAM,gBAAgB,GAAgC,IAAI,GAAG,EAAE,CAAC;AAEhE,SAAS,cAAc,CACrB,KAAa,EACb,YAAyC,gBAAgB;IAEzD,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;YAAE,OAAO,QAAQ,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC;YAAE,OAAO,QAAQ,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAAE,OAAO,MAAM,CAAC;QACjD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,IAAI,eAAe,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,eAAe,CAAC,UAAU,CAAC;QAAE,OAAO,QAAQ,CAAC;IACjD,IAAI,gBAAgB,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,IAAI,iBAAiB,CAAC,UAAU,CAAC;QAAE,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAExE,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC;IAE5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,sBAAsB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC;IACvE,CAAC;IAED,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,sBAAsB,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC;IACtF,OAAO,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;AACjD,CAAC;AAED,SAAS,UAAU,CACjB,KAAa,EACb,QAAQ,GAAG,KAAK,EAChB,YAAyC,gBAAgB;IAEzD,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvD,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,MAAM;QACxD,CAAC,CAAC,GAAG,IAAI,GAAG;QACZ,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB,EAAE,KAAa;IACvD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;IAC9D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;QAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAwB,EACxB,SAAsC;IAEtC,MAAM,UAAU,GACd,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC/C,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,CAAC;QAC7D,CAAC,CAAC,UAAU,CACR,gBAAgB,EAChB,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EACzC,SAAS,CACV;QACH,CAAC,CAAC,UAAU,CACR,QAAQ,CAAC,IAAI,EACb,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EACzC,SAAS,CACV,CAAC;IACR,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE3C,OAAO;QACL,GAAG,QAAQ;QACX,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;QACvD,UAAU;QACV,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ;QACnD,WAAW,EACT,QAAQ,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;YACtE,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,EAAE;KACT,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,MAAwB,EACxB,SAAsC;IAEtC,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI;QACrD,aAAa,EAAE,MAAM,CAAC,OAAO;YAC3B,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;YACnD,CAAC,CAAC,SAAS;QACb,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU;QAC/C,eAAe,EAAE,MAAM,CAAC,SAAS;YAC/B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;YAC7C,CAAC,CAAC,aAAa;QACjB,UAAU,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;QACrD,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC7C,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CACvC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA2B;IACnD,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACpE,CAAC;IAEF,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAoB,EACpB,SAAsC;IAEtC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1D,GAAG,SAAS;QACZ,aAAa,EAAE,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC;QAC/C,WAAW,EAAE,MAAM,SAAS,CAAC,IAAI,GAAG;KACrC,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW;QACpC,CAAC,CAAC,UAAU,CACR,SAAS,CAAC,WAAW,CAAC,IAAI,EAC1B,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAC/B,SAAS,CACV;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAClC,CAAC;IACF,MAAM,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,CACjD,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAClC,CAAC;IACF,MAAM,QAAQ,GAAa,UAAU,CAAC,GAAG,CACvC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,aAAa,EAAE,CAC5F,CAAC;IACF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,SAAS,CAAC,WAAW,EAAE,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC;IACvE,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,4CAA4C,CAAC;QAC/D,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CACxC,aAAa;YACX,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,oDAAoD,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,6CAA6C,CAAC;QAChE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC1C,eAAe;YACb,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qDAAqD,CAC1D,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,cAAc,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,GAAG,SAAS;QACZ,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpD,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QACzD,aAAa,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC;QACpD,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC;QACxE,MAAM,EAAE,SAAS,CAAC,YAAY,KAAK,MAAM;QACzC,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QAC1C,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAC7C,UAAU;QACV,WAAW,EAAE,SAAS,CAAC,WAAW;YAChC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE;YACpD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,aAAa;IACf,QAAQ,GAAG,QAAQ,CAAC;IAE7B,KAAK,CAAC,IAAI,CACR,QAAuB,EACvB,UAAkB,EAClB,MAAuB;QAEvB,eAAe,EAAE,CAAC;QAElB,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,UAAU,CAAC;QACpD,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,iBAAiB,CACtC,QAAQ,EACR,aAAa,EACb,UAAU,CACX,CAAC;QACF,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5C,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CACnC,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW;aACxC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,KAAK,CAAC,MAAM,CAAC;aACb,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,WAAW,GAAG,UAAU,CAC5B,QAAQ,CAAC,IAAI,CAAC,UAAU;YACtB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;YAC1C,KAAK,CACR,CAAC;QACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,CACX,YAAoB,EACpB,YAAoB,EACpB,OAAgB,EAChB,EAAE;YACF,KAAK,CAAC,IAAI,CAAC;gBACT,YAAY;gBACZ,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC;aACtD,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,WAAW,SAAS,EAAE,QAAQ,EAAE;YACtC,GAAG,QAAQ,CAAC,IAAI;YAChB,cAAc;YACd,WAAW;YACX,SAAS;SACV,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE;YAC1B,GAAG,QAAQ,CAAC,IAAI;YAChB,cAAc;YACd,MAAM,EAAE,aAAa;YACrB,OAAO;YACP,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,MAAM;YACN,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE;YAC1B,GAAG,QAAQ,CAAC,IAAI;YAChB,cAAc;YACd,MAAM,EAAE,aAAa;YACrB,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,MAAM;YACN,SAAS;YACT,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE;YAChC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,SAAS;YACT,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW;YACtC,cAAc;SACf,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,QAAQ,EAAE;gBAClD,GAAG,KAAK;gBACR,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7C,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC,CACzC;gBACD,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CACR,GAAG,wBAAwB,CAAC;YAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE;gBACN,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC5D,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE,CACxB,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO;gBACpD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC;gBACtD,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,CAAC;aAC3D;SACF,CAAC,CACH,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { Operation, OperationGroup, SchemaDefinition, SDKMeta } from '../types/ir.js';
2
+ import type { EmittedFile } from '../pipeline/write.js';
3
+ export interface DocumentationNaming {
4
+ language: string;
5
+ groupAccessor?: (group: OperationGroup) => string;
6
+ methodName?: (operation: Operation) => string;
7
+ typeName?: (type: string) => string;
8
+ sourcePath: (group: OperationGroup) => string;
9
+ }
10
+ export interface DocumentationOptions {
11
+ meta: SDKMeta;
12
+ groups: OperationGroup[];
13
+ schemas: SchemaDefinition[];
14
+ naming: DocumentationNaming;
15
+ }
16
+ export declare function createDocumentationFiles({ meta, groups, schemas, naming, }: DocumentationOptions): EmittedFile[];
17
+ //# sourceMappingURL=documentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/adapters/documentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EAEd,gBAAgB,EAChB,OAAO,EACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;IAClD,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC;CAC/C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CAAC,EACvC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,GACP,EAAE,oBAAoB,GAAG,WAAW,EAAE,CAmBtC"}