Skip to content

Commit b8b2697

Browse files
authored
fix: return transformed value for primitive arrays in BigInt and Date transformers
Agent-Logs-Url: https://github.com/hey-api/openapi-ts/sessions/3b715c98-b9fd-4f47-a2e7-11d25bc2b1d2
1 parent 721cd14 commit b8b2697

7 files changed

Lines changed: 40 additions & 4 deletions

File tree

packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/transformers-array/transformers.gen.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ export const getFooResponseTransformer = async (data: any): Promise<GetFooRespon
77
item.baz = new Date(item.baz);
88
return item;
99
});
10+
data.bar = data.bar.map((item: any) => BigInt(item.toString()));
11+
data.baz = data.baz.map((item: any) => new Date(item));
1012
return data;
1113
};

packages/openapi-ts-tests/main/test/__snapshots__/3.0.x/transformers-array/types.gen.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export type GetFooResponses = {
1919
foo: Array<{
2020
baz: Date;
2121
}>;
22+
bar: Array<bigint>;
23+
baz: Array<Date>;
2224
};
2325
};
2426

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/transformers-array/transformers.gen.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ export const getFooResponseTransformer = async (data: any): Promise<GetFooRespon
77
item.baz = new Date(item.baz);
88
return item;
99
});
10+
data.bar = data.bar.map((item: any) => BigInt(item.toString()));
11+
data.baz = data.baz.map((item: any) => new Date(item));
1012
return data;
1113
};

packages/openapi-ts-tests/main/test/__snapshots__/3.1.x/transformers-array/types.gen.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export type GetFooResponses = {
1919
foo: Array<{
2020
baz: Date;
2121
}>;
22+
bar: Array<bigint>;
23+
baz: Array<Date>;
2224
};
2325
};
2426

packages/openapi-ts/src/plugins/@hey-api/transformers/expressions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export const bigIntExpressions: ExpressionTransformer = ({ dataExpression, schem
1313

1414
if (bigIntCallExpression) {
1515
if (typeof dataExpression === 'string') {
16-
return [bigIntCallExpression];
16+
return [$.return(bigIntCallExpression)];
1717
}
1818

1919
if (dataExpression) {
@@ -30,7 +30,7 @@ export const dateExpressions: ExpressionTransformer = ({ dataExpression, schema
3030
}
3131

3232
if (typeof dataExpression === 'string') {
33-
return [$.new('Date').arg(dataExpression)];
33+
return [$.return($.new('Date').arg(dataExpression))];
3434
}
3535

3636
if (dataExpression) {

specs/3.0.x/transformers-array.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,23 @@
2727
},
2828
"required": ["baz"]
2929
}
30+
},
31+
"bar": {
32+
"type": "array",
33+
"items": {
34+
"type": "integer",
35+
"format": "int64"
36+
}
37+
},
38+
"baz": {
39+
"type": "array",
40+
"items": {
41+
"type": "string",
42+
"format": "date-time"
43+
}
3044
}
3145
},
32-
"required": ["foo"]
46+
"required": ["foo", "bar", "baz"]
3347
}
3448
}
3549
}

specs/3.1.x/transformers-array.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,23 @@
2727
},
2828
"required": ["baz"]
2929
}
30+
},
31+
"bar": {
32+
"type": "array",
33+
"items": {
34+
"type": "integer",
35+
"format": "int64"
36+
}
37+
},
38+
"baz": {
39+
"type": "array",
40+
"items": {
41+
"type": "string",
42+
"format": "date-time"
43+
}
3044
}
3145
},
32-
"required": ["foo"]
46+
"required": ["foo", "bar", "baz"]
3347
}
3448
}
3549
}

0 commit comments

Comments
 (0)