interceptr 1.5.1 → 1.6.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.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/openapi/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAOrF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAE5D,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,GAAG,MAAM,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAuElE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/openapi/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAOrF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AAE5D,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,GAAG,MAAM,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAiGlE"}
@@ -16,33 +16,62 @@ export async function parseOpenAPISpec(specInput) {
16
16
  const statusCode = parseInt(statusCodeStr, 10);
17
17
  if (isNaN(statusCode))
18
18
  continue;
19
- let body = '';
20
- let schema;
21
- const content = response.content;
22
- if (content && content['application/json']) {
23
- const jsonContent = content['application/json'];
24
- if (jsonContent.example) {
25
- body = JSON.stringify(jsonContent.example, null, 2);
19
+ const description = response.description || `Status ${statusCode}`;
20
+ const jsonContent = response.content?.['application/json'];
21
+ const topSchema = jsonContent?.schema;
22
+ const variants = topSchema?.anyOf ?? topSchema?.oneOf;
23
+ if (variants && Array.isArray(variants) && variants.length > 1) {
24
+ // Expand each variant into its own SpecResponse
25
+ for (let i = 0; i < variants.length; i++) {
26
+ const variant = variants[i];
27
+ let body = '';
28
+ if (jsonContent.example) {
29
+ body = JSON.stringify(jsonContent.example, null, 2);
30
+ }
31
+ else if (jsonContent.examples) {
32
+ const firstExample = Object.values(jsonContent.examples)[0];
33
+ body = JSON.stringify(firstExample.value || firstExample, null, 2);
34
+ }
35
+ else {
36
+ body = JSON.stringify(generateExampleFromSchema(variant), null, 2);
37
+ }
38
+ responses.push({
39
+ statusCode,
40
+ name: variant.title ? `${description} — ${variant.title}` : `${description} (${i + 1})`,
41
+ description,
42
+ body,
43
+ headers: {},
44
+ schema: safeClone(variant),
45
+ });
26
46
  }
27
- else if (jsonContent.examples) {
28
- const firstExample = Object.values(jsonContent.examples)[0];
29
- body = JSON.stringify(firstExample.value || firstExample, null, 2);
30
- }
31
- else if (jsonContent.schema) {
32
- body = JSON.stringify(generateExampleFromSchema(jsonContent.schema), null, 2);
33
- }
34
- if (jsonContent.schema) {
35
- schema = safeClone(jsonContent.schema);
47
+ }
48
+ else {
49
+ let body = '';
50
+ let schema;
51
+ if (jsonContent) {
52
+ if (jsonContent.example) {
53
+ body = JSON.stringify(jsonContent.example, null, 2);
54
+ }
55
+ else if (jsonContent.examples) {
56
+ const firstExample = Object.values(jsonContent.examples)[0];
57
+ body = JSON.stringify(firstExample.value || firstExample, null, 2);
58
+ }
59
+ else if (topSchema) {
60
+ body = JSON.stringify(generateExampleFromSchema(topSchema), null, 2);
61
+ }
62
+ if (topSchema) {
63
+ schema = safeClone(topSchema);
64
+ }
36
65
  }
66
+ responses.push({
67
+ statusCode,
68
+ name: description,
69
+ description,
70
+ body,
71
+ headers: {},
72
+ schema,
73
+ });
37
74
  }
38
- responses.push({
39
- statusCode,
40
- name: response.description || `Status ${statusCode}`,
41
- description: response.description,
42
- body,
43
- headers: {},
44
- schema,
45
- });
46
75
  }
47
76
  }
48
77
  endpoints.push({
@@ -75,6 +104,8 @@ function safeClone(value) {
75
104
  }
76
105
  }
77
106
  function generateExampleFromSchema(schema) {
107
+ if (schema.const !== undefined)
108
+ return schema.const;
78
109
  if (schema.example)
79
110
  return schema.example;
80
111
  if (schema.default !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/openapi/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/openapi/parser.ts"],"names":[],"mappings":"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"}