Skip to content

Commit fc701bf

Browse files
authored
Merge branch 'main' into fix-body-param
2 parents a33fb04 + f9303ff commit fc701bf

File tree

20 files changed

+683
-14
lines changed

20 files changed

+683
-14
lines changed

.changeset/cuddly-jokes-walk.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@hey-api/openapi-ts": patch
3+
---
4+
5+
**parser**: inline deep path `$ref` references

dev/openapi-ts.config.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ export default defineConfig(() => {
4848
path: path.resolve(
4949
getSpecsPath(),
5050
// '2.0.x',
51-
// '3.0.x',
52-
'3.1.x',
51+
'3.0.x',
52+
// '3.1.x',
5353
// 'circular.yaml',
5454
// 'dutchie.json',
5555
// 'enum-names-values.yaml',
@@ -60,12 +60,13 @@ export default defineConfig(() => {
6060
// 'openai.yaml',
6161
// 'opencode.yaml',
6262
// 'pagination-ref.yaml',
63+
'ref-deep.yaml',
6364
// 'schema-const.yaml',
6465
// 'sdk-instance.yaml',
6566
// 'sdk-method-class-conflict.yaml',
6667
// 'sdk-nested-classes.yaml',
6768
// 'sdk-nested-conflict.yaml',
68-
'security-api-key.yaml',
69+
// 'security-api-key.yaml',
6970
// 'string-with-format.yaml',
7071
// 'transformers.json',
7172
// 'transformers-recursive.json',
@@ -286,7 +287,7 @@ export default defineConfig(() => {
286287
// name: '你們_errors_{{name}}',
287288
// },
288289
// exportFromIndex: false,
289-
// name: '@hey-api/typescript',
290+
name: '@hey-api/typescript',
290291
// requests: '我們_data_{{name}}',
291292
// responses: {
292293
// name: '我_responses_{{name}}',
@@ -331,7 +332,7 @@ export default defineConfig(() => {
331332
// fields.unwrap('path')
332333
// },
333334
// include...
334-
name: '@hey-api/sdk',
335+
// name: '@hey-api/sdk',
335336
operations: {
336337
// container: 'object',
337338
// containerName: {

packages/openapi-ts-tests/main/test/2.0.x.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,14 @@ describe(`OpenAPI ${version}`, () => {
292292
}),
293293
description: 'handles form data',
294294
},
295+
{
296+
config: createConfig({
297+
input: 'ref-deep.yaml',
298+
output: 'ref-deep',
299+
plugins: ['@hey-api/typescript'],
300+
}),
301+
description: 'handles deep references',
302+
},
295303
{
296304
config: createConfig({
297305
input: 'transforms-read-write.yaml',

packages/openapi-ts-tests/main/test/3.0.x.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,14 @@ describe(`OpenAPI ${version}`, () => {
546546
}),
547547
description: 'handles non-exploded array query parameters (Axios)',
548548
},
549+
{
550+
config: createConfig({
551+
input: 'ref-deep.yaml',
552+
output: 'ref-deep',
553+
plugins: ['@hey-api/typescript'],
554+
}),
555+
description: 'handles deep references',
556+
},
549557
{
550558
config: createConfig({
551559
input: 'transforms-read-write.yaml',

packages/openapi-ts-tests/main/test/3.1.x.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,6 +646,14 @@ describe(`OpenAPI ${version}`, () => {
646646
}),
647647
description: 'handles tuple query parameters',
648648
},
649+
{
650+
config: createConfig({
651+
input: 'ref-deep.yaml',
652+
output: 'ref-deep',
653+
plugins: ['@hey-api/typescript'],
654+
}),
655+
description: 'handles deep references',
656+
},
649657
{
650658
config: createConfig({
651659
input: 'transforms-read-write.yaml',
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// This file is auto-generated by @hey-api/openapi-ts
2+
3+
export type { Bar, ClientOptions, Foo, GetFooData, GetFooResponses, PostFooData, PostFooResponses } from './types.gen';
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// This file is auto-generated by @hey-api/openapi-ts
2+
3+
export type ClientOptions = {
4+
baseUrl: string;
5+
};
6+
7+
export type Foo = {
8+
foo?: Array<{
9+
baz?: string;
10+
}>;
11+
bar?: Array<{
12+
baz?: string;
13+
}>;
14+
};
15+
16+
export type Bar = {
17+
foo?: Array<{
18+
baz?: string;
19+
}>;
20+
bar?: Array<{
21+
baz?: string;
22+
}>;
23+
};
24+
25+
export type GetFooData = {
26+
body?: never;
27+
path?: never;
28+
query?: never;
29+
url: '/foo';
30+
};
31+
32+
export type GetFooResponses = {
33+
/**
34+
* OK
35+
*/
36+
200: unknown;
37+
};
38+
39+
export type PostFooData = {
40+
body?: never;
41+
path?: never;
42+
query?: never;
43+
url: '/foo';
44+
};
45+
46+
export type PostFooResponses = {
47+
/**
48+
* OK
49+
*/
50+
200: unknown;
51+
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// This file is auto-generated by @hey-api/openapi-ts
2+
3+
export type { Bar, ClientOptions, Foo, GetFooData, GetFooResponse, GetFooResponses, PostFooData, PostFooResponse, PostFooResponses } from './types.gen';
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// This file is auto-generated by @hey-api/openapi-ts
2+
3+
export type ClientOptions = {
4+
baseUrl: `${string}://${string}` | (string & {});
5+
};
6+
7+
export type Foo = {
8+
foo?: Array<{
9+
baz?: string;
10+
}>;
11+
bar?: Array<{
12+
baz?: string;
13+
}>;
14+
};
15+
16+
export type Bar = {
17+
foo?: Array<{
18+
baz?: string;
19+
}>;
20+
bar?: Array<{
21+
baz?: string;
22+
}>;
23+
};
24+
25+
export type GetFooData = {
26+
body?: never;
27+
path?: never;
28+
query?: never;
29+
url: '/foo';
30+
};
31+
32+
export type GetFooResponses = {
33+
/**
34+
* OK
35+
*/
36+
200: Array<{
37+
foo?: number;
38+
bar?: string;
39+
}>;
40+
};
41+
42+
export type GetFooResponse = GetFooResponses[keyof GetFooResponses];
43+
44+
export type PostFooData = {
45+
body?: never;
46+
path?: never;
47+
query?: never;
48+
url: '/foo';
49+
};
50+
51+
export type PostFooResponses = {
52+
/**
53+
* OK
54+
*/
55+
200: {
56+
foo?: {
57+
foo?: number;
58+
bar?: string;
59+
};
60+
bar?: string;
61+
};
62+
};
63+
64+
export type PostFooResponse = PostFooResponses[keyof PostFooResponses];
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// This file is auto-generated by @hey-api/openapi-ts
2+
3+
export type { Bar, ClientOptions, Foo, GetFooData, GetFooResponse, GetFooResponses, PostFooData, PostFooResponse, PostFooResponses } from './types.gen';

0 commit comments

Comments
 (0)