@thymian/plugin-openapi 0.1.8 → 0.1.9-canary.20260513-e6b82ed

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 (45) hide show
  1. package/dist/http-filter-expression-to-operation-filter.d.ts.map +1 -1
  2. package/dist/http-filter-expression-to-operation-filter.js +19 -59
  3. package/dist/http-filter-expression-to-operation-filter.js.map +1 -1
  4. package/dist/load-openapi.js +2 -2
  5. package/dist/load-openapi.js.map +1 -1
  6. package/dist/processors/headers-object.processor.d.ts +1 -1
  7. package/dist/processors/headers-object.processor.d.ts.map +1 -1
  8. package/dist/processors/headers-object.processor.js +4 -3
  9. package/dist/processors/headers-object.processor.js.map +1 -1
  10. package/dist/processors/json-schema.processor.d.ts +8 -4
  11. package/dist/processors/json-schema.processor.d.ts.map +1 -1
  12. package/dist/processors/json-schema.processor.js +140 -19
  13. package/dist/processors/json-schema.processor.js.map +1 -1
  14. package/dist/processors/media-type-object.processor.d.ts +1 -1
  15. package/dist/processors/media-type-object.processor.d.ts.map +1 -1
  16. package/dist/processors/media-type-object.processor.js +8 -5
  17. package/dist/processors/media-type-object.processor.js.map +1 -1
  18. package/dist/processors/openapi-reference-resolver.d.ts +4 -0
  19. package/dist/processors/openapi-reference-resolver.d.ts.map +1 -0
  20. package/dist/processors/openapi-reference-resolver.js +76 -0
  21. package/dist/processors/openapi-reference-resolver.js.map +1 -0
  22. package/dist/processors/openapi.processor.d.ts.map +1 -1
  23. package/dist/processors/openapi.processor.js +17 -13
  24. package/dist/processors/openapi.processor.js.map +1 -1
  25. package/dist/processors/parameter-object.processor.d.ts +2 -2
  26. package/dist/processors/parameter-object.processor.d.ts.map +1 -1
  27. package/dist/processors/parameter-object.processor.js +12 -10
  28. package/dist/processors/parameter-object.processor.js.map +1 -1
  29. package/dist/processors/request-body-object.processor.d.ts +1 -1
  30. package/dist/processors/request-body-object.processor.d.ts.map +1 -1
  31. package/dist/processors/request-body-object.processor.js +2 -2
  32. package/dist/processors/request-body-object.processor.js.map +1 -1
  33. package/dist/processors/response-object.processor.d.ts +1 -1
  34. package/dist/processors/response-object.processor.d.ts.map +1 -1
  35. package/dist/processors/response-object.processor.js +8 -4
  36. package/dist/processors/response-object.processor.js.map +1 -1
  37. package/dist/processors/responses-object.processor.d.ts +1 -1
  38. package/dist/processors/responses-object.processor.d.ts.map +1 -1
  39. package/dist/processors/responses-object.processor.js +5 -3
  40. package/dist/processors/responses-object.processor.js.map +1 -1
  41. package/dist/processors/security-scheme-object.processor.d.ts +1 -1
  42. package/dist/processors/security-scheme-object.processor.d.ts.map +1 -1
  43. package/dist/processors/security-scheme-object.processor.js +6 -1
  44. package/dist/processors/security-scheme-object.processor.js.map +1 -1
  45. package/package.json +3 -4
@@ -1 +1 @@
1
- {"version":3,"file":"http-filter-expression-to-operation-filter.d.ts","sourceRoot":"","sources":["../src/http-filter-expression-to-operation-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE;IAC3C,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;IAC5C,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;CAC/B,KAAK,OAAO,CAAC;AAyRd,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,oBAAoB,GAC/B,uBAAuB,CAEzB"}
1
+ {"version":3,"file":"http-filter-expression-to-operation-filter.d.ts","sourceRoot":"","sources":["../src/http-filter-expression-to-operation-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAM1D,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE;IAC3C,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC;IAC5C,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;CAC/B,KAAK,OAAO,CAAC;AA4Qd,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,oBAAoB,GAC/B,uBAAuB,CAEzB"}
@@ -1,37 +1,25 @@
1
1
  import { createFilterVisitor, equalsIgnoreCase, visitHttpFilter, } from '@thymian/core';
2
+ import { resolveOpenApiReference } from './processors/openapi-reference-resolver.js';
2
3
  function joinUrls(baseUrl, path) {
3
4
  return (baseUrl + path).replace(/\/\//g, '/');
4
5
  }
5
- /**
6
- * Helper to check if params contain a specific query parameter
7
- */
8
6
  function hasQueryParam(params, param) {
9
7
  return Object.keys(params.queryParameters).some((p) => equalsIgnoreCase(p, param));
10
8
  }
11
- /**
12
- * Helper to check if params contain a specific request header
13
- */
14
9
  function hasRequestHeader(params, header) {
15
10
  return Object.keys(params.headers).some((h) => equalsIgnoreCase(h, header));
16
11
  }
17
- /**
18
- * Helper to check if operation has response with specific status code
19
- */
20
12
  function hasResponseWithStatusCode(operationObject, code) {
21
13
  if (!operationObject.responses) {
22
14
  return false;
23
15
  }
24
16
  return Object.keys(operationObject.responses).some((statusCode) => {
25
- // Handle 'default' or numeric status codes
26
17
  if (statusCode === 'default') {
27
18
  return false;
28
19
  }
29
20
  return parseInt(statusCode, 10) === code;
30
21
  });
31
22
  }
32
- /**
33
- * Helper to check if operation has response in status code range
34
- */
35
23
  function hasResponseInStatusCodeRange(operationObject, start, end) {
36
24
  if (!operationObject.responses) {
37
25
  return false;
@@ -44,85 +32,57 @@ function hasResponseInStatusCodeRange(operationObject, start, end) {
44
32
  return Number.isInteger(code) && code >= start && code <= end;
45
33
  });
46
34
  }
47
- /**
48
- * Helper to check if operation has request body
49
- */
50
35
  function hasRequestBody(operationObject) {
51
36
  return !!operationObject.requestBody;
52
37
  }
53
- /**
54
- * Helper to check if operation has request with specific media type
55
- */
56
- function hasRequestMediaType(operationObject, mediaType) {
38
+ function hasRequestMediaType(operationObject, mediaType, document) {
57
39
  if (!operationObject.requestBody) {
58
40
  return false;
59
41
  }
60
- if ('$ref' in operationObject.requestBody) {
61
- return false;
62
- }
63
- const content = operationObject.requestBody.content;
42
+ const content = resolveOpenApiReference(operationObject.requestBody, document, 'request body').content;
64
43
  if (!content) {
65
44
  return false;
66
45
  }
67
46
  return Object.keys(content).some((mt) => equalsIgnoreCase(mt, mediaType));
68
47
  }
69
- /**
70
- * Helper to check if operation has response with specific media type
71
- */
72
- function hasResponseMediaType(operationObject, mediaType) {
48
+ function hasResponseMediaType(operationObject, mediaType, document) {
73
49
  if (!operationObject.responses) {
74
50
  return false;
75
51
  }
76
52
  return Object.values(operationObject.responses).some((response) => {
77
- if ('$ref' in response) {
78
- return false;
79
- }
80
- if (!response.content) {
53
+ const resolvedResponse = resolveOpenApiReference(response, document, 'response');
54
+ if (!resolvedResponse.content) {
81
55
  return false;
82
56
  }
83
- return Object.keys(response.content).some((mt) => equalsIgnoreCase(mt, mediaType));
57
+ return Object.keys(resolvedResponse.content).some((mt) => equalsIgnoreCase(mt, mediaType));
84
58
  });
85
59
  }
86
- /**
87
- * Helper to check if operation has response header
88
- */
89
- function hasResponseHeader(operationObject, header) {
60
+ function hasResponseHeader(operationObject, header, document) {
90
61
  if (!operationObject.responses) {
91
62
  return false;
92
63
  }
93
64
  return Object.values(operationObject.responses).some((response) => {
94
- if ('$ref' in response) {
65
+ const resolvedResponse = resolveOpenApiReference(response, document, 'response');
66
+ if (!resolvedResponse.headers) {
95
67
  return false;
96
68
  }
97
- if (!response.headers) {
98
- return false;
99
- }
100
- return Object.keys(response.headers).some((h) => equalsIgnoreCase(h, header));
69
+ return Object.keys(resolvedResponse.headers).some((h) => equalsIgnoreCase(h, header));
101
70
  });
102
71
  }
103
- /**
104
- * Helper to check if operation has response body
105
- */
106
- function hasResponseBody(operationObject) {
72
+ function hasResponseBody(operationObject, document) {
107
73
  if (!operationObject.responses) {
108
74
  return false;
109
75
  }
110
76
  return Object.values(operationObject.responses).some((response) => {
111
- if ('$ref' in response) {
112
- return false;
113
- }
114
- return !!response.content && Object.keys(response.content).length > 0;
77
+ const resolvedResponse = resolveOpenApiReference(response, document, 'response');
78
+ return (!!resolvedResponse.content &&
79
+ Object.keys(resolvedResponse.content).length > 0);
115
80
  });
116
81
  }
117
- /**
118
- * Helper to check if operation is secured (has security requirement)
119
- */
120
82
  function isOperationSecured(operationObject, document) {
121
- // Check operation-level security
122
83
  if (operationObject.security) {
123
84
  return operationObject.security.length > 0;
124
85
  }
125
- // Check document-level security
126
86
  if (document.security) {
127
87
  return document.security.length > 0;
128
88
  }
@@ -176,7 +136,7 @@ const visitor = createFilterVisitor({
176
136
  if (typeof mediaType === 'undefined') {
177
137
  return () => false;
178
138
  }
179
- return ({ operationObject }) => hasRequestMediaType(operationObject, mediaType);
139
+ return ({ operationObject, document }) => hasRequestMediaType(operationObject, mediaType, document);
180
140
  },
181
141
  visitUrl({ url }) {
182
142
  return ({ serverInfo, path }) => {
@@ -194,13 +154,13 @@ const visitor = createFilterVisitor({
194
154
  return ({ operationObject }) => hasResponseWithStatusCode(operationObject, code);
195
155
  },
196
156
  visitHasResponseBody({ hasBody }) {
197
- return ({ operationObject }) => hasResponseBody(operationObject) === hasBody;
157
+ return ({ operationObject, document }) => hasResponseBody(operationObject, document) === hasBody;
198
158
  },
199
159
  visitResponseHeader({ header }) {
200
160
  if (typeof header === 'undefined') {
201
161
  return () => false;
202
162
  }
203
- return ({ operationObject }) => hasResponseHeader(operationObject, header);
163
+ return ({ operationObject, document }) => hasResponseHeader(operationObject, header, document);
204
164
  },
205
165
  visitStatusCodeRange({ start, end }) {
206
166
  return ({ operationObject }) => hasResponseInStatusCodeRange(operationObject, start, end);
@@ -209,7 +169,7 @@ const visitor = createFilterVisitor({
209
169
  if (typeof mediaType === 'undefined') {
210
170
  return () => false;
211
171
  }
212
- return ({ operationObject }) => hasResponseMediaType(operationObject, mediaType);
172
+ return ({ operationObject, document }) => hasResponseMediaType(operationObject, mediaType, document);
213
173
  },
214
174
  visitResponseTrailer() {
215
175
  throw new Error('Response trailers are not currently supported.');
@@ -1 +1 @@
1
- {"version":3,"file":"http-filter-expression-to-operation-filter.js","sourceRoot":"","sources":["../src/http-filter-expression-to-operation-filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-filter-expression-to-operation-filter.js","sourceRoot":"","sources":["../src/http-filter-expression-to-operation-filter.ts"],"names":[],"mappings":"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"}
@@ -122,7 +122,7 @@ export async function loadAndUpgrade(value, cwd = process.cwd(), logger, validat
122
122
  }
123
123
  const upgradedObject = upgrade(structuredClone(document), '3.1');
124
124
  logger.debug(`Upgraded ${sourceLabel} to version 3.1.`);
125
- const dereferencedResult = dereference(upgradedObject, {
125
+ const dereferencedResult = dereference(structuredClone(upgradedObject), {
126
126
  throwOnError: false,
127
127
  });
128
128
  if (dereferencedResult?.errors?.length || !dereferencedResult.schema) {
@@ -137,7 +137,7 @@ export async function loadAndUpgrade(value, cwd = process.cwd(), logger, validat
137
137
  });
138
138
  }
139
139
  return {
140
- document: dereferencedResult.schema,
140
+ document: upgradedObject,
141
141
  original: document,
142
142
  filePath: filePath ? filePath : undefined,
143
143
  };
@@ -1 +1 @@
1
- {"version":3,"file":"load-openapi.js","sourceRoot":"","sources":["../src/load-openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-openapi.js","sourceRoot":"","sources":["../src/load-openapi.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { Parameter } from '@thymian/core';
2
2
  import type { OpenAPIV3_1 as OpenApiV31 } from 'openapi-types';
3
- export declare function processHeadersObject(headersObject: Record<string, OpenApiV31.HeaderObject> | undefined, ignoreContentTypeHeader?: boolean): Record<string, Parameter>;
3
+ export declare function processHeadersObject(headersObject: Record<string, OpenApiV31.HeaderObject | OpenApiV31.ReferenceObject> | undefined, document: OpenApiV31.Document, ignoreContentTypeHeader?: boolean): Record<string, Parameter>;
4
4
  //# sourceMappingURL=headers-object.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"headers-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/headers-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAI/D,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,SAAS,EAElE,uBAAuB,UAAO,GAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAoB3B"}
1
+ {"version":3,"file":"headers-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/headers-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAK/D,wBAAgB,oBAAoB,CAClC,aAAa,EACT,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,eAAe,CAAC,GACpE,SAAS,EACb,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAE7B,uBAAuB,UAAO,GAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CA2B3B"}
@@ -1,5 +1,6 @@
1
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
1
2
  import { processParameterObject } from './parameter-object.processor.js';
2
- export function processHeadersObject(headersObject,
3
+ export function processHeadersObject(headersObject, document,
3
4
  // https://swagger.io/specification/v3/#response-object
4
5
  ignoreContentTypeHeader = true) {
5
6
  return Object.entries(headersObject ?? {}).reduce((acc, [name, headerObject]) => {
@@ -7,10 +8,10 @@ ignoreContentTypeHeader = true) {
7
8
  return acc;
8
9
  }
9
10
  const [, parameter] = processParameterObject({
10
- ...headerObject,
11
+ ...resolveOpenApiReference(headerObject, document, 'header'),
11
12
  name,
12
13
  in: 'header',
13
- });
14
+ }, document);
14
15
  return {
15
16
  ...acc,
16
17
  [name]: parameter,
@@ -1 +1 @@
1
- {"version":3,"file":"headers-object.processor.js","sourceRoot":"","sources":["../../src/processors/headers-object.processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,oBAAoB,CAClC,aAAkE;AAClE,uDAAuD;AACvD,uBAAuB,GAAG,IAAI;IAE9B,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE;QAC5B,IAAI,uBAAuB,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;YACrE,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,sBAAsB,CAAC;YAC3C,GAAG,YAAY;YACf,IAAI;YACJ,EAAE,EAAE,QAAQ;SACb,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,GAAG;YACN,CAAC,IAAI,CAAC,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC,EACD,EAA+B,CAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"headers-object.processor.js","sourceRoot":"","sources":["../../src/processors/headers-object.processor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,UAAU,oBAAoB,CAClC,aAEa,EACb,QAA6B;AAC7B,uDAAuD;AACvD,uBAAuB,GAAG,IAAI;IAE9B,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,EAAE;QAC5B,IAAI,uBAAuB,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;YACrE,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,sBAAsB,CAC1C;YACE,GAAG,uBAAuB,CACxB,YAAY,EACZ,QAAQ,EACR,QAAQ,CACT;YACD,IAAI;YACJ,EAAE,EAAE,QAAQ;SACb,EACD,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,GAAG,GAAG;YACN,CAAC,IAAI,CAAC,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC,EACD,EAA+B,CAChC,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
- import { type ThymianSchema } from '@thymian/core';
1
+ import type { ThymianSchema } from '@thymian/core';
2
2
  import type { OpenAPIV3_1 as OpenAPIV31 } from 'openapi-types';
3
- export type Draft202012SchemaObject = OpenAPIV31.SchemaObject & {
3
+ export type Draft202012SchemaObject = (OpenAPIV31.SchemaObject & {
4
4
  prefixItems?: Draft202012SchemaObject[];
5
5
  unevaluatedItems?: boolean;
6
6
  contains?: Draft202012SchemaObject;
@@ -13,7 +13,11 @@ export type Draft202012SchemaObject = OpenAPIV31.SchemaObject & {
13
13
  exclusiveMaximum?: number;
14
14
  exclusiveMinimum?: number;
15
15
  contentEncoding?: string;
16
- } & boolean;
17
- export declare function processSchema(schema: Draft202012SchemaObject): ThymianSchema;
16
+ }) | boolean;
17
+ type ProcessSchemaOptions = {
18
+ document: OpenAPIV31.Document;
19
+ };
20
+ export declare function processSchema(schema: Draft202012SchemaObject, options: ProcessSchemaOptions): ThymianSchema;
18
21
  export declare function addExampleToSchema(schema: ThymianSchema, example: unknown): ThymianSchema;
22
+ export {};
19
23
  //# sourceMappingURL=json-schema.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.processor.d.ts","sourceRoot":"","sources":["../../src/processors/json-schema.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAa/D,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,YAAY,GAAG;IAC9D,WAAW,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE;QAClB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,CAAC;KAC5C,CAAC;IACF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC;AAEZ,wBAAgB,aAAa,CAAC,MAAM,EAAE,uBAAuB,GAAG,aAAa,CA4B5E;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,aAAa,CAMf"}
1
+ {"version":3,"file":"json-schema.processor.d.ts","sourceRoot":"","sources":["../../src/processors/json-schema.processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAkC/D,MAAM,MAAM,uBAAuB,GAC/B,CAAC,UAAU,CAAC,YAAY,GAAG;IACzB,WAAW,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE;QAClB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,CAAC;KAC5C,CAAC;IACF,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC,GACF,OAAO,CAAC;AAEZ,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;CAC/B,CAAC;AASF,wBAAgB,aAAa,CAC3B,MAAM,EAAE,uBAAuB,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,aAAa,CAef;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,GACf,aAAa,CAMf"}
@@ -1,5 +1,4 @@
1
- import { isRecord } from '@thymian/core';
2
- import traverse from 'traverse';
1
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
3
2
  const keysToRemove = new Set([
4
3
  'nullable',
5
4
  'example',
@@ -9,32 +8,154 @@ const keysToRemove = new Set([
9
8
  'readOnly',
10
9
  'writeOnly',
11
10
  ]);
12
- export function processSchema(schema) {
13
- // https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-01#name-boolean-json-schemas
11
+ const schemaArrayKeys = new Set(['allOf', 'anyOf', 'oneOf', 'prefixItems']);
12
+ const schemaRecordKeys = new Set([
13
+ '$defs',
14
+ 'dependentSchemas',
15
+ 'patternProperties',
16
+ 'properties',
17
+ ]);
18
+ const schemaValueKeys = new Set([
19
+ 'additionalProperties',
20
+ 'contains',
21
+ 'else',
22
+ 'if',
23
+ 'items',
24
+ 'not',
25
+ 'propertyNames',
26
+ 'then',
27
+ 'unevaluatedItems',
28
+ 'unevaluatedProperties',
29
+ ]);
30
+ export function processSchema(schema, options) {
31
+ const context = createSchemaNormalizationContext(options.document);
32
+ const normalized = normalizeSchema(schema, context);
33
+ if (Object.keys(context.definitions).length === 0) {
34
+ return normalized;
35
+ }
36
+ return {
37
+ ...normalized,
38
+ $defs: {
39
+ ...context.definitions,
40
+ ...(normalized.$defs ?? {}),
41
+ },
42
+ };
43
+ }
44
+ export function addExampleToSchema(schema, example) {
45
+ if (isObjectRecord(schema) && typeof example !== 'undefined') {
46
+ (schema.examples ??= []).push(example);
47
+ }
48
+ return schema;
49
+ }
50
+ function createSchemaNormalizationContext(document) {
51
+ return {
52
+ definitionNamesByRef: new Map(),
53
+ definitions: {},
54
+ document,
55
+ usedDefinitionNames: new Set(),
56
+ };
57
+ }
58
+ function normalizeSchema(schema, context) {
14
59
  if (schema === false) {
15
60
  return { not: {} };
16
61
  }
17
62
  if (schema === true) {
18
63
  return {};
19
64
  }
20
- return traverse(schema).map(function (node) {
21
- if (!this.isLeaf && isRecord(node) && node['example']) {
22
- node.examples ??= [];
23
- if (!Array.isArray(node.examples)) {
24
- throw new Error(`Property "examples" must be an array but got type ${typeof node.examples}.`);
25
- }
26
- node.examples.push(node.example);
27
- this.update(node, !!this.circular);
65
+ return normalizeSchemaObject(schema, context);
66
+ }
67
+ function normalizeSchemaObject(schema, context) {
68
+ const result = {};
69
+ const hasExample = Object.hasOwn(schema, 'example');
70
+ if (hasExample) {
71
+ const examples = schema.examples ? structuredClone(schema.examples) : [];
72
+ if (!Array.isArray(examples)) {
73
+ throw new Error(`Property "examples" must be an array but got type ${typeof examples}.`);
74
+ }
75
+ examples.push(structuredClone(schema.example));
76
+ result.examples = examples;
77
+ }
78
+ for (const [key, value] of Object.entries(schema)) {
79
+ if (keysToRemove.has(key) || key === 'example') {
80
+ continue;
81
+ }
82
+ if (key === 'examples' && hasExample) {
83
+ continue;
84
+ }
85
+ if (typeof value === 'undefined') {
86
+ continue;
28
87
  }
29
- if (this.key && keysToRemove.has(this.key)) {
30
- this.remove(!!this.circular);
88
+ if (key === '$ref') {
89
+ result.$ref =
90
+ context && typeof value === 'string'
91
+ ? localizeReference(value, context)
92
+ : value;
93
+ continue;
31
94
  }
32
- });
95
+ if (schemaArrayKeys.has(key) && Array.isArray(value)) {
96
+ result[key] = value.map((item) => normalizeSchema(item, context));
97
+ continue;
98
+ }
99
+ if (schemaRecordKeys.has(key) && isObjectRecord(value)) {
100
+ result[key] = Object.fromEntries(Object.entries(value).map(([entryKey, entryValue]) => [
101
+ entryKey,
102
+ normalizeSchema(entryValue, context),
103
+ ]));
104
+ continue;
105
+ }
106
+ if (schemaValueKeys.has(key)) {
107
+ result[key] = normalizeSchema(value, context);
108
+ continue;
109
+ }
110
+ result[key] = structuredClone(value);
111
+ }
112
+ return result;
33
113
  }
34
- export function addExampleToSchema(schema, example) {
35
- if (isRecord(schema) && typeof example !== 'undefined') {
36
- (schema.examples ??= []).push(example);
114
+ function localizeReference(ref, context) {
115
+ if (!ref.startsWith('#')) {
116
+ throw new Error(`Only internal schema references are supported but got "${ref}".`);
37
117
  }
38
- return schema;
118
+ const name = getOrCreateDefinitionName(ref, context);
119
+ return `#/$defs/${escapeJsonPointerSegment(name)}`;
120
+ }
121
+ function getOrCreateDefinitionName(ref, context) {
122
+ const existingName = context.definitionNamesByRef.get(ref);
123
+ if (existingName) {
124
+ return existingName;
125
+ }
126
+ const name = createDefinitionName(ref, context.usedDefinitionNames);
127
+ context.definitionNamesByRef.set(ref, name);
128
+ const target = resolveInternalReference(context.document, ref);
129
+ context.definitions[name] = normalizeSchema(target, context);
130
+ return name;
131
+ }
132
+ function createDefinitionName(ref, usedNames) {
133
+ const fragment = ref.replace(/^#\/?/, '');
134
+ const rawSegments = fragment
135
+ .split('/')
136
+ .filter(Boolean)
137
+ .map((segment) => unescapeJsonPointerSegment(segment));
138
+ const lastSegment = rawSegments[rawSegments.length - 1] ?? 'schema';
139
+ const baseName = lastSegment.replace(/[^A-Za-z0-9_-]/g, '_').replace(/^_+|_+$/g, '') ||
140
+ 'schema';
141
+ let candidate = baseName;
142
+ let suffix = 2;
143
+ while (usedNames.has(candidate)) {
144
+ candidate = `${baseName}_${suffix++}`;
145
+ }
146
+ usedNames.add(candidate);
147
+ return candidate;
148
+ }
149
+ function resolveInternalReference(document, ref) {
150
+ return resolveOpenApiReference({ $ref: ref }, document, 'schema');
151
+ }
152
+ function escapeJsonPointerSegment(segment) {
153
+ return segment.replace(/~/g, '~0').replace(/\//g, '~1');
154
+ }
155
+ function unescapeJsonPointerSegment(segment) {
156
+ return decodeURIComponent(segment).replace(/~1/g, '/').replace(/~0/g, '~');
157
+ }
158
+ function isObjectRecord(value) {
159
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
39
160
  }
40
161
  //# sourceMappingURL=json-schema.processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema.processor.js","sourceRoot":"","sources":["../../src/processors/json-schema.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAE7D,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,UAAU;IACV,SAAS;IACT,YAAY;IACZ,eAAe;IACf,cAAc;IACd,UAAU;IACV,WAAW;CACZ,CAAC,CAAC;AAiBH,MAAM,UAAU,aAAa,CAAC,MAA+B;IAC3D,+FAA+F;IAC/F,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC;YAErB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,IAAI,CAAC,QAAQ,GAAG,CAC7E,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAqB,EACrB,OAAgB;IAEhB,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACvD,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"json-schema.processor.js","sourceRoot":"","sources":["../../src/processors/json-schema.processor.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type Encoding, type Parameter, type SerializationStyle, type ThymianSchema } from '@thymian/core';
2
2
  import type { OpenAPIV3_1 as OpenApiV31 } from 'openapi-types';
3
3
  export declare function extractSerializationStyle(encodingObj: OpenApiV31.EncodingObject): SerializationStyle;
4
- export declare function processMediaTypeObject(mediaTypeObject: OpenApiV31.MediaTypeObject, addEncodings?: boolean, isMultipart?: boolean): {
4
+ export declare function processMediaTypeObject(mediaTypeObject: OpenApiV31.MediaTypeObject, document: OpenApiV31.Document, addEncodings?: boolean, isMultipart?: boolean): {
5
5
  schema?: ThymianSchema;
6
6
  headers: Record<string, Parameter>;
7
7
  encoding?: Encoding;
@@ -1 +1 @@
1
- {"version":3,"file":"media-type-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/media-type-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAS/D,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,UAAU,CAAC,cAAc,GACrC,kBAAkB,CAQpB;AAED,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,YAAY,UAAQ,EACpB,WAAW,UAAQ,GAClB;IACD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAkDA"}
1
+ {"version":3,"file":"media-type-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/media-type-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAU/D,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,UAAU,CAAC,cAAc,GACrC,kBAAkB,CAQpB;AAED,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,YAAY,UAAQ,EACpB,WAAW,UAAQ,GAClB;IACD,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAmEA"}
@@ -1,24 +1,27 @@
1
1
  import { SerializationStyleBuilder, } from '@thymian/core';
2
2
  import { processHeadersObject } from './headers-object.processor.js';
3
3
  import { addExampleToSchema, processSchema, } from './json-schema.processor.js';
4
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
4
5
  export function extractSerializationStyle(encodingObj) {
5
6
  const style = encodingObj.style ?? 'form';
6
7
  const explode = encodingObj.explode ?? style === 'form';
7
8
  return new SerializationStyleBuilder(style, explode).build();
8
9
  }
9
- export function processMediaTypeObject(mediaTypeObject, addEncodings = false, isMultipart = false) {
10
+ export function processMediaTypeObject(mediaTypeObject, document, addEncodings = false, isMultipart = false) {
10
11
  const schema = mediaTypeObject.schema
11
- ? processSchema(mediaTypeObject.schema)
12
+ ? processSchema(mediaTypeObject.schema, {
13
+ document,
14
+ })
12
15
  : undefined;
13
16
  if (schema) {
14
17
  Object.values(mediaTypeObject.examples ?? {}).forEach((example) => {
15
- addExampleToSchema(schema, example.value);
18
+ addExampleToSchema(schema, resolveOpenApiReference(example, document, 'example').value);
16
19
  });
17
20
  }
18
21
  let headers = {};
19
22
  if (isMultipart && mediaTypeObject.encoding) {
20
23
  Object.values(mediaTypeObject.encoding).forEach((encodingObject) => {
21
- headers = processHeadersObject(encodingObject.headers);
24
+ headers = processHeadersObject(encodingObject.headers, document);
22
25
  });
23
26
  }
24
27
  if (schema) {
@@ -33,7 +36,7 @@ export function processMediaTypeObject(mediaTypeObject, addEncodings = false, is
33
36
  ...acc,
34
37
  [propertyName]: {
35
38
  contentType: encodingObj.contentType,
36
- headers: processHeadersObject(encodingObj.headers),
39
+ headers: processHeadersObject(encodingObj.headers, document),
37
40
  serializationStyle: extractSerializationStyle(encodingObj),
38
41
  },
39
42
  }), {});
@@ -1 +1 @@
1
- {"version":3,"file":"media-type-object.processor.js","sourceRoot":"","sources":["../../src/processors/media-type-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACL,kBAAkB,EAElB,aAAa,GACd,MAAM,4BAA4B,CAAC;AAEpC,MAAM,UAAU,yBAAyB,CACvC,WAAsC;IAEtC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;IAExD,OAAO,IAAI,yBAAyB,CAClC,KAAoC,EACpC,OAAO,CACR,CAAC,KAAK,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,eAA2C,EAC3C,YAAY,GAAG,KAAK,EACpB,WAAW,GAAG,KAAK;IAMnB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM;QACnC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,MAAiC,CAAC;QAClE,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChE,kBAAkB,CAAC,MAAM,EAAG,OAAoC,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAA8B,EAAE,CAAC;IAC5C,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YACjE,OAAO,GAAG,oBAAoB,CAC5B,cAAc,CAAC,OAAkD,CAClE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAIR;QACF,OAAO;QACP,MAAM;KACP,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CACrE,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,CAAC,YAAY,CAAC,EAAE;gBACd,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,OAAO,EAAE,oBAAoB,CAC3B,WAAW,CAAC,OAAkD,CAC/D;gBACD,kBAAkB,EAAE,yBAAyB,CAAC,WAAW,CAAC;aAC3D;SACF,CAAC,EACF,EAAc,CACf,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"media-type-object.processor.js","sourceRoot":"","sources":["../../src/processors/media-type-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACL,kBAAkB,EAElB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,UAAU,yBAAyB,CACvC,WAAsC;IAEtC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,MAAM,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC;IAExD,OAAO,IAAI,yBAAyB,CAClC,KAAoC,EACpC,OAAO,CACR,CAAC,KAAK,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,eAA2C,EAC3C,QAA6B,EAC7B,YAAY,GAAG,KAAK,EACpB,WAAW,GAAG,KAAK;IAMnB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM;QACnC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,MAAiC,EAAE;YAC/D,QAAQ;SACT,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChE,kBAAkB,CAChB,MAAM,EACN,uBAAuB,CACrB,OAAO,EACP,QAAQ,EACR,SAAS,CACV,CAAC,KAAK,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAA8B,EAAE,CAAC;IAC5C,IAAI,WAAW,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YACjE,OAAO,GAAG,oBAAoB,CAC5B,cAAc,CAAC,OAGd,EACD,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,MAAM,GAIR;QACF,OAAO;QACP,MAAM;KACP,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CACrE,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,CAAC,YAAY,CAAC,EAAE;gBACd,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,OAAO,EAAE,oBAAoB,CAC3B,WAAW,CAAC,OAGX,EACD,QAAQ,CACT;gBACD,kBAAkB,EAAE,yBAAyB,CAAC,WAAW,CAAC;aAC3D;SACF,CAAC,EACF,EAAc,CACf,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { OpenAPIV3_1 as OpenApiV31 } from 'openapi-types';
2
+ export declare function isReferenceObject(value: unknown): value is OpenApiV31.ReferenceObject;
3
+ export declare function resolveOpenApiReference<T>(value: T | OpenApiV31.ReferenceObject, document: OpenApiV31.Document, label?: string): T;
4
+ //# sourceMappingURL=openapi-reference-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-reference-resolver.d.ts","sourceRoot":"","sources":["../../src/processors/openapi-reference-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,UAAU,CAAC,eAAe,CAOrC;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,eAAe,EACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,KAAK,SAAmB,GACvB,CAAC,CAcH"}
@@ -0,0 +1,76 @@
1
+ export function isReferenceObject(value) {
2
+ return (typeof value === 'object' &&
3
+ value !== null &&
4
+ '$ref' in value &&
5
+ typeof value.$ref === 'string');
6
+ }
7
+ export function resolveOpenApiReference(value, document, label = 'OpenAPI object') {
8
+ if (!isReferenceObject(value)) {
9
+ return value;
10
+ }
11
+ const ref = value.$ref;
12
+ if (!ref.startsWith('#')) {
13
+ throw new Error(`Only internal ${label} references are supported but got "${ref}".`);
14
+ }
15
+ return resolveInternalReference(document, ref, label);
16
+ }
17
+ function resolveInternalReference(document, ref, label) {
18
+ const fragment = ref.slice(1);
19
+ if (fragment === '') {
20
+ return document;
21
+ }
22
+ if (fragment.startsWith('/')) {
23
+ return resolveJsonPointer(document, fragment, label);
24
+ }
25
+ const anchor = decodeURIComponent(fragment);
26
+ const result = findByAnchor(document, anchor);
27
+ if (typeof result === 'undefined') {
28
+ throw new Error(`Could not resolve internal ${label} reference "${ref}".`);
29
+ }
30
+ return result;
31
+ }
32
+ function resolveJsonPointer(root, pointer, label) {
33
+ let current = root;
34
+ for (const segment of pointer.slice(1).split('/')) {
35
+ const key = unescapeJsonPointerSegment(segment);
36
+ if (!isObjectRecord(current) && !Array.isArray(current)) {
37
+ throw new Error(`Could not resolve internal ${label} reference "#${pointer}".`);
38
+ }
39
+ current = current[key];
40
+ if (typeof current === 'undefined') {
41
+ throw new Error(`Could not resolve internal ${label} reference "#${pointer}".`);
42
+ }
43
+ }
44
+ return current;
45
+ }
46
+ function findByAnchor(current, anchor) {
47
+ if (!current || typeof current !== 'object') {
48
+ return undefined;
49
+ }
50
+ if (isObjectRecord(current) && current['$anchor'] === anchor) {
51
+ return current;
52
+ }
53
+ if (Array.isArray(current)) {
54
+ for (const item of current) {
55
+ const result = findByAnchor(item, anchor);
56
+ if (typeof result !== 'undefined') {
57
+ return result;
58
+ }
59
+ }
60
+ return undefined;
61
+ }
62
+ for (const value of Object.values(current)) {
63
+ const result = findByAnchor(value, anchor);
64
+ if (typeof result !== 'undefined') {
65
+ return result;
66
+ }
67
+ }
68
+ return undefined;
69
+ }
70
+ function unescapeJsonPointerSegment(segment) {
71
+ return decodeURIComponent(segment).replace(/~1/g, '/').replace(/~0/g, '~');
72
+ }
73
+ function isObjectRecord(value) {
74
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
75
+ }
76
+ //# sourceMappingURL=openapi-reference-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openapi-reference-resolver.js","sourceRoot":"","sources":["../../src/processors/openapi-reference-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.processor.d.ts","sourceRoot":"","sources":["../../src/processors/openapi.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,MAAM,EACX,aAAa,EAEd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAQ9E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAKF,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA8B;IAErE,OAAO,CAAC,qBAAqB,CAAgB;IAE7C,OAAO,CAAC,UAAU,CAAU;gBAGT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE,SAAS,EACpB,MAAM,gBAAsB;IAG/C,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAsGvB,OAAO,CACZ,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,MAAM,EAAE,oBAAoB,EAC5B,UAAU,GAAE,MAA4B,GACvC,aAAa;CA+EjB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAC1B,OAAO,CAAC"}
1
+ {"version":3,"file":"openapi.processor.d.ts","sourceRoot":"","sources":["../../src/processors/openapi.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,MAAM,EACX,aAAa,EAEd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAS9E,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAS5B,CAAC;AAKF,qBAAa,gBAAgB;IAUzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA8B;IAErE,OAAO,CAAC,qBAAqB,CAAgB;IAE7C,OAAO,CAAC,UAAU,CAAU;gBAGT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,SAAS,EAAE,SAAS,EACpB,MAAM,gBAAsB;IAG/C,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IA8GvB,OAAO,CACZ,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAC7B,MAAM,EAAE,oBAAoB,EAC5B,UAAU,GAAE,MAA4B,GACvC,aAAa;CAyFjB;AAED,MAAM,MAAM,uBAAuB,GAAG,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAC1B,OAAO,CAAC"}
@@ -3,6 +3,7 @@ import { isNodeType, ThymianFormat, } from '@thymian/core';
3
3
  import { httpFilterExpressionToOperationFilter } from '../http-filter-expression-to-operation-filter.js';
4
4
  import { extractServerInfo } from './extract-server-info.js';
5
5
  import { processLinkObjectParameters } from './link-object.processor.js';
6
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
6
7
  import { processParameterObjects } from './parameter-object.processor.js';
7
8
  import { processRequestBodyObjet } from './request-body-object.processor.js';
8
9
  import { processResponsesObject } from './responses-object.processor.js';
@@ -55,13 +56,15 @@ export class OpenapiProcessor {
55
56
  });
56
57
  });
57
58
  }
58
- processOperationObject(operationObject, params, method, path, serverInfo) {
59
+ processOperationObject(operationObject, document, params, method, path, serverInfo) {
59
60
  if (operationObject.deprecated) {
60
61
  this.logger.debug(`Operation with id "${operationObject.operationId ?? '(no operationId provided)'}" is deprecated but still used by Thymian.`);
61
62
  }
62
- const parameters = mergeParameters(params, processParameterObjects(operationObject.parameters));
63
+ const parameters = mergeParameters(params, processParameterObjects(operationObject.parameters, document));
63
64
  const operationServerInfo = extractServerInfo(operationObject.servers, serverInfo);
64
- const requests = processRequestBodyObjet(operationObject.requestBody, parameters, this.locMapper, {
65
+ const requests = processRequestBodyObjet(operationObject.requestBody
66
+ ? resolveOpenApiReference(operationObject.requestBody, document, 'request body')
67
+ : undefined, parameters, this.locMapper, {
65
68
  host: operationServerInfo.host,
66
69
  port: operationServerInfo.port,
67
70
  protocol: operationServerInfo.protocol,
@@ -69,13 +72,14 @@ export class OpenapiProcessor {
69
72
  method,
70
73
  path: join(operationServerInfo.basePath, path),
71
74
  sourceName: this.sourceName,
72
- });
73
- const responsesAndLinks = processResponsesObject(operationObject.responses, parameters);
75
+ }, document);
76
+ const responsesAndLinks = processResponsesObject(operationObject.responses, parameters, document);
74
77
  const securitySchemes = this.globalSecuritySchemes.length
75
78
  ? this.globalSecuritySchemes
76
79
  : operationObject.security?.length
77
- ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
- operationObject.security.map((sec) => Object.keys(sec)[0])
80
+ ? operationObject.security
81
+ .map((sec) => Object.keys(sec)[0])
82
+ .filter(Boolean)
79
83
  : [];
80
84
  for (const req of requests) {
81
85
  const reqId = this.format.addRequest({
@@ -119,7 +123,7 @@ export class OpenapiProcessor {
119
123
  process(document, filter, sourceName = document.info.title) {
120
124
  this.sourceName = sourceName;
121
125
  const filterFn = httpFilterExpressionToOperationFilter(filter);
122
- const securitySchemes = processSecuritySchemes(document.components?.securitySchemes ?? {});
126
+ const securitySchemes = processSecuritySchemes(document.components?.securitySchemes ?? {}, document);
123
127
  securitySchemes.forEach((scheme) => {
124
128
  this.securitySchemeToNodeId[scheme.extensions.openapi.schemeName] =
125
129
  this.format.addSecurityScheme({
@@ -138,13 +142,14 @@ export class OpenapiProcessor {
138
142
  if (typeof pathItem === 'undefined') {
139
143
  continue;
140
144
  }
141
- const parameters = processParameterObjects(pathItem.parameters);
142
- for (const [method, op] of Object.entries(pathItem)) {
145
+ const resolvedPathItem = resolveOpenApiReference(pathItem, document, 'path item');
146
+ const parameters = processParameterObjects(resolvedPathItem.parameters, document);
147
+ for (const [method, op] of Object.entries(resolvedPathItem)) {
143
148
  if (!supportedMethods.includes(method)) {
144
149
  continue;
145
150
  }
146
151
  const operation = op;
147
- const operationParameters = processParameterObjects(operation.parameters);
152
+ const operationParameters = processParameterObjects(operation.parameters, document);
148
153
  const allParameters = mergeParameters(parameters, operationParameters);
149
154
  if (filterFn({
150
155
  document,
@@ -154,8 +159,7 @@ export class OpenapiProcessor {
154
159
  operationObject: operation,
155
160
  serverInfo,
156
161
  })) {
157
- this.logger.debug('Do not skip operation:' + operation.operationId);
158
- this.processOperationObject(operation, allParameters, method, path, serverInfo);
162
+ this.processOperationObject(operation, document, allParameters, method, path, serverInfo);
159
163
  }
160
164
  }
161
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.processor.js","sourceRoot":"","sources":["../../src/processors/openapi.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.processor.js","sourceRoot":"","sources":["../../src/processors/openapi.processor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Parameter } from '@thymian/core';
2
2
  import type { OpenAPIV3_1 as OpenApiV31 } from 'openapi-types';
3
3
  import type { Parameters } from './utils.js';
4
- export declare function processParameterObjects(parameterObjects: OpenApiV31.ParameterObject[] | undefined): Parameters;
5
- export declare function processParameterObject(parameterObject: OpenApiV31.ParameterObject): [string, Parameter];
4
+ export declare function processParameterObjects(parameterObjects: (OpenApiV31.ParameterObject | OpenApiV31.ReferenceObject)[] | undefined, document: OpenApiV31.Document): Parameters;
5
+ export declare function processParameterObject(parameterObject: OpenApiV31.ParameterObject, document: OpenApiV31.Document): [string, Parameter];
6
6
  //# sourceMappingURL=parameter-object.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/parameter-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,UAAU,CAAC,eAAe,EAAE,GAAG,SAAS,GACzD,UAAU,CA2BZ;AAED,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,GAC1C,CAAC,MAAM,EAAE,SAAS,CAAC,CA2FrB"}
1
+ {"version":3,"file":"parameter-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/parameter-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAIf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAS/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,uBAAuB,CACrC,gBAAgB,EACZ,CAAC,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,GAC3D,SAAS,EACb,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC5B,UAAU,CAiCZ;AAED,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,EAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC5B,CAAC,MAAM,EAAE,SAAS,CAAC,CAiGrB"}
@@ -1,7 +1,8 @@
1
1
  import { capitalizeFirstChar, CookieSerializationStyleBuilder, HeaderSerializationStyleBuilder, PathSerializationStyleBuilder, QuerySerializationStyleBuilder, } from '@thymian/core';
2
2
  import { addExampleToSchema, processSchema, } from './json-schema.processor.js';
3
3
  import { processMediaTypeObject } from './media-type-object.processor.js';
4
- export function processParameterObjects(parameterObjects) {
4
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
5
+ export function processParameterObjects(parameterObjects, document) {
5
6
  const parameters = {
6
7
  headers: {},
7
8
  queryParameters: {},
@@ -12,27 +13,28 @@ export function processParameterObjects(parameterObjects) {
12
13
  return parameters;
13
14
  }
14
15
  for (const parameterObject of parameterObjects) {
15
- const [name, param] = processParameterObject(parameterObject);
16
- if (parameterObject.in === 'query') {
16
+ const resolvedParameter = resolveOpenApiReference(parameterObject, document, 'parameter');
17
+ const [name, param] = processParameterObject(resolvedParameter, document);
18
+ if (resolvedParameter.in === 'query') {
17
19
  parameters.queryParameters[name] = param;
18
20
  }
19
- else if (parameterObject.in === 'path') {
21
+ else if (resolvedParameter.in === 'path') {
20
22
  parameters.pathParameters[name] = param;
21
23
  }
22
- else if (parameterObject.in === 'cookie') {
24
+ else if (resolvedParameter.in === 'cookie') {
23
25
  parameters.cookies[name] = param;
24
26
  }
25
- else if (parameterObject.in === 'header') {
27
+ else if (resolvedParameter.in === 'header') {
26
28
  parameters.headers[name] = param;
27
29
  }
28
30
  }
29
31
  return parameters;
30
32
  }
31
- export function processParameterObject(parameterObject) {
33
+ export function processParameterObject(parameterObject, document) {
32
34
  let thymianSchema;
33
35
  let parameterContentType;
34
36
  if (parameterObject.schema) {
35
- thymianSchema = processSchema(parameterObject.schema);
37
+ thymianSchema = processSchema(parameterObject.schema, { document });
36
38
  }
37
39
  else if (parameterObject.content) {
38
40
  const entries = Object.entries(parameterObject.content);
@@ -42,7 +44,7 @@ export function processParameterObject(parameterObject) {
42
44
  const [contentType, mediaTypeObject] = entries[0];
43
45
  const isMultipart = /^multipart\/.*/i.test(contentType);
44
46
  const addEncoding = contentType === 'application/x-www-form-urlencoded' || isMultipart;
45
- const { schema } = processMediaTypeObject(mediaTypeObject, addEncoding, isMultipart);
47
+ const { schema } = processMediaTypeObject(mediaTypeObject, document, addEncoding, isMultipart);
46
48
  if (!schema) {
47
49
  throw new Error(`${capitalizeFirstChar(parameterObject.in)} parameter "${parameterObject.name}" object must define either a schema or a content property.`);
48
50
  }
@@ -54,7 +56,7 @@ export function processParameterObject(parameterObject) {
54
56
  }
55
57
  addExampleToSchema(thymianSchema, parameterObject.example);
56
58
  Object.values(parameterObject.examples ?? {}).forEach((example) => {
57
- addExampleToSchema(thymianSchema, example.value);
59
+ addExampleToSchema(thymianSchema, resolveOpenApiReference(example, document, 'example').value);
58
60
  });
59
61
  const style = parameterObject.in === 'header'
60
62
  ? new HeaderSerializationStyleBuilder()
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-object.processor.js","sourceRoot":"","sources":["../../src/processors/parameter-object.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter-object.processor.js","sourceRoot":"","sources":["../../src/processors/parameter-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,+BAA+B,EAE/B,6BAA6B,EAC7B,8BAA8B,GAE/B,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,kBAAkB,EAElB,aAAa,GACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,MAAM,UAAU,uBAAuB,CACrC,gBAEa,EACb,QAA6B;IAE7B,MAAM,UAAU,GAAe;QAC7B,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;KACnB,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;QAC/C,MAAM,iBAAiB,GACrB,uBAAuB,CACrB,eAAe,EACf,QAAQ,EACR,WAAW,CACZ,CAAC;QACJ,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAE1E,IAAI,iBAAiB,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;YACrC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;aAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YAC3C,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC1C,CAAC;aAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;aAAM,IAAI,iBAAiB,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,eAA2C,EAC3C,QAA6B;IAE7B,IAAI,aAA4B,CAAC;IACjC,IAAI,oBAAwC,CAAC;IAE7C,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3B,aAAa,GAAG,aAAa,CAC3B,eAAe,CAAC,MAAiC,EACjD,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;SAAM,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,WAAW,GACf,WAAW,KAAK,mCAAmC,IAAI,WAAW,CAAC;QAErE,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CACvC,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,GAAG,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC,eACxC,eAAe,CAAC,IAClB,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,aAAa,GAAG,MAAM,CAAC;QACvB,oBAAoB,GAAG,WAAW,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,GAAG,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC,eACxC,eAAe,CAAC,IAClB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAE3D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAChE,kBAAkB,CAChB,aAAa,EACb,uBAAuB,CACrB,OAAO,EACP,QAAQ,EACR,SAAS,CACV,CAAC,KAAK,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GACT,eAAe,CAAC,EAAE,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,+BAA+B,EAAE;aAClC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC;aACpC,KAAK,EAAE;QACZ,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,OAAO;YAC9B,CAAC,CAAC,IAAI,8BAA8B,EAAE;iBACjC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;iBAChC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC;iBACpC,KAAK,EAAE;YACZ,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,MAAM;gBAC7B,CAAC,CAAC,IAAI,6BAA6B,EAAE;qBAChC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;qBAChC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC;qBACpC,KAAK,EAAE;gBACZ,CAAC,CAAC,IAAI,+BAA+B,EAAE;qBAClC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC;qBAChC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC;qBACpC,KAAK,EAAE,CAAC;IAErB,MAAM,KAAK,GAAc;QACvB,QAAQ,EAAE,eAAe,CAAC,QAAQ,IAAI,KAAK;QAC3C,MAAM,EAAE,aAAa;QACrB,KAAK;KACN,CAAC;IAEF,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;QAChC,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAClD,CAAC;IAED,IAAI,oBAAoB,EAAE,CAAC;QACzB,KAAK,CAAC,WAAW,GAAG,oBAAoB,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC"}
@@ -10,5 +10,5 @@ export declare function processRequestBodyObjet(requestBodyObject: OpenApiV31.Re
10
10
  port: number;
11
11
  protocol: 'http' | 'https';
12
12
  sourceName: string;
13
- }): PartialBy<ThymianHttpRequest, 'label' | 'sourceName'>[];
13
+ }, document: OpenApiV31.Document): PartialBy<ThymianHttpRequest, 'label' | 'sourceName'>[];
14
14
  //# sourceMappingURL=request-body-object.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-body-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/request-body-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,GAAG,SAAS,EAC3D,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,SAAS,CAAC,kBAAkB,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE,CAuEzD"}
1
+ {"version":3,"file":"request-body-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/request-body-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,GAAG,SAAS,EAC3D,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB,EACD,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC5B,SAAS,CAAC,kBAAkB,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE,CAwEzD"}
@@ -1,6 +1,6 @@
1
1
  import {} from '@thymian/core';
2
2
  import { processMediaTypeObject } from './media-type-object.processor.js';
3
- export function processRequestBodyObjet(requestBodyObject, parameters, locMapper, context) {
3
+ export function processRequestBodyObjet(requestBodyObject, parameters, locMapper, context, document) {
4
4
  if (!requestBodyObject) {
5
5
  return [
6
6
  {
@@ -27,7 +27,7 @@ export function processRequestBodyObjet(requestBodyObject, parameters, locMapper
27
27
  .map(([mediaType, mediaTypeObject]) => {
28
28
  const isMultipart = /^multipart\/.*/i.test(mediaType);
29
29
  const addEncoding = mediaType === 'application/x-www-form-urlencoded' || isMultipart;
30
- const { schema } = processMediaTypeObject(mediaTypeObject, addEncoding, isMultipart);
30
+ const { schema } = processMediaTypeObject(mediaTypeObject, document, addEncoding, isMultipart);
31
31
  const sourceLocation = context.operationId
32
32
  ? locMapper.locationForOperationId(context.operationId)
33
33
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"request-body-object.processor.js","sourceRoot":"","sources":["../../src/processors/request-body-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,MAAM,eAAe,CAAC;AAIxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,MAAM,UAAU,uBAAuB,CACrC,iBAA2D,EAC3D,UAAsB,EACtB,SAAoB,EACpB,OAQC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,WAAW,EAAE,OAAO,CAAC,WAAW;qBACjC;iBACF;gBACD,GAAG,UAAU;aACd;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;QAC7C,0GAA0G;SACzG,MAAM,CACL,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CACd,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,SAAS,KAAK,mCAAmC,CACpD;SACA,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE;QACpC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,WAAW,GACf,SAAS,KAAK,mCAAmC,IAAI,WAAW,CAAC;QAEnE,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CACvC,eAAe,EACf,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW;YACxC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,YAAY,EAAE,iBAAiB,CAAC,QAAQ,IAAI,KAAK;YACjD,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC;aACF;YACD,cAAc;YACd,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,OAAO,EAAE;gBACP,GAAG,UAAU,CAAC,OAAO;gBACrB,mBAAmB;aACpB;SAC8D,CAAC;IACpE,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"request-body-object.processor.js","sourceRoot":"","sources":["../../src/processors/request-body-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,MAAM,eAAe,CAAC;AAIxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,MAAM,UAAU,uBAAuB,CACrC,iBAA2D,EAC3D,UAAsB,EACtB,SAAoB,EACpB,OAQC,EACD,QAA6B;IAE7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;YACL;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,WAAW,EAAE,OAAO,CAAC,WAAW;qBACjC;iBACF;gBACD,GAAG,UAAU;aACd;SACF,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;QAC7C,0GAA0G;SACzG,MAAM,CACL,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CACd,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;QAClC,SAAS,KAAK,mCAAmC,CACpD;SACA,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE;QACpC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,WAAW,GACf,SAAS,KAAK,mCAAmC,IAAI,WAAW,CAAC;QAEnE,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CACvC,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW;YACxC,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,iBAAiB,CAAC,WAAW;YAC1C,YAAY,EAAE,iBAAiB,CAAC,QAAQ,IAAI,KAAK;YACjD,IAAI,EAAE,MAAM;YACZ,SAAS;YACT,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC;aACF;YACD,cAAc;YACd,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,OAAO,EAAE;gBACP,GAAG,UAAU,CAAC,OAAO;gBACrB,mBAAmB;aACpB;SAC8D,CAAC;IACpE,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
@@ -8,5 +8,5 @@ export type ResponsesWithLinks = {
8
8
  linkObj: OpenApiV31.LinkObject;
9
9
  }[];
10
10
  };
11
- export declare function processResponseObject(responseObject: OpenApiV31.ResponseObject, statusCode: number, parameters: Parameters): ResponsesWithLinks;
11
+ export declare function processResponseObject(responseObject: OpenApiV31.ResponseObject, statusCode: number, parameters: Parameters, document: OpenApiV31.Document): ResponsesWithLinks;
12
12
  //# sourceMappingURL=response-object.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/response-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAI/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,mBAAmB,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IACpE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAA;KAAE,EAAE,CAAC;CAC3D,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,UAAU,CAAC,cAAc,EACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,GACrB,kBAAkB,CAoDpB"}
1
+ {"version":3,"file":"response-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/response-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAK/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,SAAS,CAAC,mBAAmB,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IACpE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAA;KAAE,EAAE,CAAC;CAC3D,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,UAAU,CAAC,cAAc,EACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC5B,kBAAkB,CA+DpB"}
@@ -1,16 +1,20 @@
1
1
  import {} from '@thymian/core';
2
2
  import { processHeadersObject } from './headers-object.processor.js';
3
3
  import { processMediaTypeObject } from './media-type-object.processor.js';
4
- export function processResponseObject(responseObject, statusCode, parameters) {
5
- const headerParameters = processHeadersObject(responseObject.headers);
6
- const links = Object.entries(responseObject.links ?? {}).map(([name, linkObj]) => ({ name, linkObj }));
4
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
5
+ export function processResponseObject(responseObject, statusCode, parameters, document) {
6
+ const headerParameters = processHeadersObject(responseObject.headers, document);
7
+ const links = Object.entries(responseObject.links ?? {}).map(([name, linkObj]) => ({
8
+ name,
9
+ linkObj: resolveOpenApiReference(linkObj, document, 'link'),
10
+ }));
7
11
  const responses = [];
8
12
  if (responseObject.content) {
9
13
  responses.push(...Object.entries(responseObject.content)
10
14
  .filter(([mediaType]) => !/^multipart\/.*/i.test(mediaType) &&
11
15
  mediaType !== 'application/x-www-form-urlencoded')
12
16
  .map(([mediaType, mediaTypeObject]) => {
13
- const { schema } = processMediaTypeObject(mediaTypeObject);
17
+ const { schema } = processMediaTypeObject(mediaTypeObject, document);
14
18
  return {
15
19
  type: 'http-response',
16
20
  description: responseObject.description,
@@ -1 +1 @@
1
- {"version":3,"file":"response-object.processor.js","sourceRoot":"","sources":["../../src/processors/response-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAQ1E,MAAM,UAAU,qBAAqB,CACnC,cAAyC,EACzC,UAAkB,EAClB,UAAsB;IAEtB,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,cAAc,CAAC,OAAkD,CAClE,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CACa,CAAC;IAExD,MAAM,SAAS,GACb,EAAE,CAAC;IAEL,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CACZ,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;aACtC,MAAM,CACL,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CACd,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;YAClC,SAAS,KAAK,mCAAmC,CACpD;aACA,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE;YACpC,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;YAE3D,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,OAAO,EAAE;oBACP,GAAG,UAAU,CAAC,OAAO;oBACrB,GAAG,gBAAgB;iBACpB;gBACD,SAAS;gBACT,UAAU;gBACV,MAAM;aAC0D,CAAC;QACrE,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,OAAO,EAAE;gBACP,GAAG,UAAU,CAAC,OAAO;gBACrB,GAAG,gBAAgB;aACpB;YACD,SAAS,EAAE,EAAE;YACb,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"response-object.processor.js","sourceRoot":"","sources":["../../src/processors/response-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ1E,MAAM,UAAU,qBAAqB,CACnC,cAAyC,EACzC,UAAkB,EAClB,UAAsB,EACtB,QAA6B;IAE7B,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,cAAc,CAAC,OAGd,EACD,QAAQ,CACT,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAC1D,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACpB,IAAI;QACJ,OAAO,EAAE,uBAAuB,CAC9B,OAAO,EACP,QAAQ,EACR,MAAM,CACP;KACF,CAAC,CACH,CAAC;IAEF,MAAM,SAAS,GACb,EAAE,CAAC;IAEL,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CACZ,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;aACtC,MAAM,CACL,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CACd,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;YAClC,SAAS,KAAK,mCAAmC,CACpD;aACA,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE;YACpC,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAErE,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,OAAO,EAAE;oBACP,GAAG,UAAU,CAAC,OAAO;oBACrB,GAAG,gBAAgB;iBACpB;gBACD,SAAS;gBACT,UAAU;gBACV,MAAM;aAC0D,CAAC;QACrE,CAAC,CAAC,CACL,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,OAAO,EAAE;gBACP,GAAG,UAAU,CAAC,OAAO;gBACrB,GAAG,gBAAgB;aACpB;YACD,SAAS,EAAE,EAAE;YACb,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,SAAS;QACT,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { OpenAPIV3_1 as OpenApiV31 } from 'openapi-types';
2
2
  import { type ResponsesWithLinks } from './response-object.processor.js';
3
3
  import type { Parameters } from './utils.js';
4
- export declare function processResponsesObject(responsesObject: OpenApiV31.ResponsesObject | undefined, parameters: Parameters): ResponsesWithLinks[];
4
+ export declare function processResponsesObject(responsesObject: OpenApiV31.ResponsesObject | undefined, parameters: Parameters, document: OpenApiV31.Document): ResponsesWithLinks[];
5
5
  //# sourceMappingURL=responses-object.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/responses-object.processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,GAAG,SAAS,EACvD,UAAU,EAAE,UAAU,GACrB,kBAAkB,EAAE,CA4CtB"}
1
+ {"version":3,"file":"responses-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/responses-object.processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,UAAU,CAAC,eAAe,GAAG,SAAS,EACvD,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC5B,kBAAkB,EAAE,CAoDtB"}
@@ -1,8 +1,10 @@
1
1
  import { httpStatusCodeRanges, isHttpStatusCodeRange } from '@thymian/core';
2
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
2
3
  import { processResponseObject, } from './response-object.processor.js';
3
- export function processResponsesObject(responsesObject, parameters) {
4
+ export function processResponsesObject(responsesObject, parameters, document) {
4
5
  const responses = {};
5
6
  for (const [statusCode, responseObject] of Object.entries(responsesObject ?? {})) {
7
+ const resolvedResponse = resolveOpenApiReference(responseObject, document, 'response');
6
8
  if (statusCode === 'default') {
7
9
  /* ignored */
8
10
  }
@@ -10,7 +12,7 @@ export function processResponsesObject(responsesObject, parameters) {
10
12
  httpStatusCodeRanges[statusCode].forEach((code) => {
11
13
  const strCode = String(code);
12
14
  if (!Object.hasOwn(responses, strCode)) {
13
- responses[strCode] = processResponseObject(responseObject, code, parameters);
15
+ responses[strCode] = processResponseObject(resolvedResponse, code, parameters, document);
14
16
  }
15
17
  });
16
18
  }
@@ -19,7 +21,7 @@ export function processResponsesObject(responsesObject, parameters) {
19
21
  if (statusCodeNumber < 100 || statusCodeNumber > 599) {
20
22
  throw new Error(`Invalid status code. Status code must be a valid http status code or status code range (e.g. 2XX), but is ${statusCode}.`);
21
23
  }
22
- responses[statusCode] = processResponseObject(responseObject, statusCodeNumber, parameters);
24
+ responses[statusCode] = processResponseObject(resolvedResponse, statusCodeNumber, parameters, document);
23
25
  }
24
26
  }
25
27
  return Object.values(responses).flat();
@@ -1 +1 @@
1
- {"version":3,"file":"responses-object.processor.js","sourceRoot":"","sources":["../../src/processors/responses-object.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG5E,OAAO,EACL,qBAAqB,GAEtB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,UAAU,sBAAsB,CACpC,eAAuD,EACvD,UAAsB;IAEtB,MAAM,SAAS,GAMX,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CACvD,eAAe,IAAI,EAAE,CACtB,EAAE,CAAC;QACF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,aAAa;QACf,CAAC;aAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,oBAAoB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;oBACvC,SAAS,CAAC,OAAO,CAAC,GAAG,qBAAqB,CACxC,cAA2C,EAC3C,IAAI,EACJ,UAAU,CACX,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,CAAC,UAAU,CAAC;YAErC,IAAI,gBAAgB,GAAG,GAAG,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CACb,6GAA6G,UAAU,GAAG,CAC3H,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAC3C,cAA2C,EAC3C,gBAAgB,EAChB,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"responses-object.processor.js","sourceRoot":"","sources":["../../src/processors/responses-object.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,qBAAqB,GAEtB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,UAAU,sBAAsB,CACpC,eAAuD,EACvD,UAAsB,EACtB,QAA6B;IAE7B,MAAM,SAAS,GAMX,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CACvD,eAAe,IAAI,EAAE,CACtB,EAAE,CAAC;QACF,MAAM,gBAAgB,GAAG,uBAAuB,CAC9C,cAAc,EACd,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,aAAa;QACf,CAAC;aAAM,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,oBAAoB,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAE7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;oBACvC,SAAS,CAAC,OAAO,CAAC,GAAG,qBAAqB,CACxC,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,QAAQ,CACT,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,CAAC,UAAU,CAAC;YAErC,IAAI,gBAAgB,GAAG,GAAG,IAAI,gBAAgB,GAAG,GAAG,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CACb,6GAA6G,UAAU,GAAG,CAC3H,CAAC;YACJ,CAAC;YAED,SAAS,CAAC,UAAU,CAAC,GAAG,qBAAqB,CAC3C,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { PartialBy, SecurityScheme } from '@thymian/core';
2
2
  import type { OpenAPIV3_1 as OpenApiV31 } from 'openapi-types';
3
- export declare function processSecuritySchemes(schemes: Record<string, OpenApiV31.SecuritySchemeObject>): PartialBy<SecurityScheme, 'label' | 'sourceName'>[];
3
+ export declare function processSecuritySchemes(schemes: Record<string, OpenApiV31.SecuritySchemeObject | OpenApiV31.ReferenceObject>, document: OpenApiV31.Document): PartialBy<SecurityScheme, 'label' | 'sourceName'>[];
4
4
  //# sourceMappingURL=security-scheme-object.processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security-scheme-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/security-scheme-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,SAAS,EACT,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/D,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,oBAAoB,CAAC,GACvD,SAAS,CAAC,cAAc,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE,CA8CrD"}
1
+ {"version":3,"file":"security-scheme-object.processor.d.ts","sourceRoot":"","sources":["../../src/processors/security-scheme-object.processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,SAAS,EACT,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAI/D,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,CACb,MAAM,EACN,UAAU,CAAC,oBAAoB,GAAG,UAAU,CAAC,eAAe,CAC7D,EACD,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAC5B,SAAS,CAAC,cAAc,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE,CAyDrD"}
@@ -1,5 +1,10 @@
1
- export function processSecuritySchemes(schemes) {
1
+ import { resolveOpenApiReference } from './openapi-reference-resolver.js';
2
+ export function processSecuritySchemes(schemes, document) {
2
3
  return Object.entries(schemes)
4
+ .map(([name, scheme]) => [
5
+ name,
6
+ resolveOpenApiReference(scheme, document, 'security scheme'),
7
+ ])
3
8
  .filter(([, scheme]) => scheme.type === 'http' || scheme.type === 'apiKey')
4
9
  .map(([name, schemeObj]) => {
5
10
  if (schemeObj.type === 'apiKey') {
@@ -1 +1 @@
1
- {"version":3,"file":"security-scheme-object.processor.js","sourceRoot":"","sources":["../../src/processors/security-scheme-object.processor.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,sBAAsB,CACpC,OAAwD;IAExD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC1E,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;QACzB,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,SAAS;gBACjB,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,UAAU,EAAE,IAAI;qBACjB;iBACF;aACgE,CAAC;QACtE,CAAC;aAAM,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,UAAU,EAAE,IAAI;yBACjB;qBACF;iBAC+D,CAAC;YACrE,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,SAAS,CAAC,YAAY;oBACpC,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,UAAU,EAAE,IAAI;yBACjB;qBACF;iBACgE,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"security-scheme-object.processor.js","sourceRoot":"","sources":["../../src/processors/security-scheme-object.processor.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,UAAU,sBAAsB,CACpC,OAGC,EACD,QAA6B;IAE7B,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3B,GAAG,CACF,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CACjB;QACE,IAAI;QACJ,uBAAuB,CACrB,MAAM,EACN,QAAQ,EACR,iBAAiB,CAClB;KACO,CACb;SACA,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;SAC1E,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;QACzB,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,SAAS;gBACjB,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,UAAU,EAAE,IAAI;qBACjB;iBACF;aACgE,CAAC;QACtE,CAAC;aAAM,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBACjC,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,UAAU,EAAE,IAAI;yBACjB;qBACF;iBAC+D,CAAC;YACrE,CAAC;iBAAM,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,OAAO;oBACL,IAAI,EAAE,iBAAiB;oBACvB,MAAM,EAAE,QAAQ;oBAChB,YAAY,EAAE,SAAS,CAAC,YAAY;oBACpC,UAAU,EAAE;wBACV,OAAO,EAAE;4BACP,UAAU,EAAE,IAAI;yBACjB;qBACF;iBACgE,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,CAAC,MAAM,iBAAiB,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thymian/plugin-openapi",
3
- "version": "0.1.8",
3
+ "version": "0.1.9-canary.20260513-e6b82ed",
4
4
  "description": "Thymian plugin for loading, parsing, and transforming OpenAPI specifications",
5
5
  "license": "AGPL-3.0-only",
6
6
  "bugs": {
@@ -38,11 +38,10 @@
38
38
  "dependencies": {
39
39
  "@scalar/openapi-parser": "^0.23.2",
40
40
  "@scalar/openapi-upgrader": "^0.1.4",
41
- "@thymian/common-cli": "0.1.8",
42
- "@thymian/core": "0.1.8",
41
+ "@thymian/common-cli": "0.1.9-canary.20260513-e6b82ed",
42
+ "@thymian/core": "0.1.9-canary.20260513-e6b82ed",
43
43
  "jsonc-parser": "^3.2.0",
44
44
  "tinyglobby": "^0.2.14",
45
- "traverse": "^0.6.11",
46
45
  "yaml": "^2.8.3"
47
46
  },
48
47
  "oclif": {