fork of hey-api/openapi-ts because I need some additional things
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request #736 from hey-api/fix/async-transformers

fix: handle async response transformers

authored by

Lubos and committed by
GitHub
a3c13b30 0a314083

+109 -92
+6
.changeset/two-cooks-kiss.md
··· 1 + --- 2 + '@hey-api/client-fetch': patch 3 + '@hey-api/openapi-ts': patch 4 + --- 5 + 6 + fix: handle async response transformers
+1 -1
packages/client-axios/src/index.ts
··· 226 226 227 227 let transformedBody = responseBody; 228 228 if (options.responseTransformer && isSuccess(response.status)) { 229 - transformedBody = options.responseTransformer(responseBody); 229 + transformedBody = await options.responseTransformer(responseBody); 230 230 } 231 231 232 232 const result: ApiResult = {
+1 -1
packages/client-core/src/types.ts
··· 26 26 readonly path?: Record<string, unknown>; 27 27 readonly query?: Record<string, unknown>; 28 28 readonly responseHeader?: string; 29 - readonly responseTransformer?: (data: unknown) => T; 29 + readonly responseTransformer?: (data: unknown) => Promise<T>; 30 30 readonly url: string; 31 31 }; 32 32
+1 -1
packages/client-fetch/src/index.ts
··· 122 122 123 123 let data = await response[parseAs](); 124 124 if (parseAs === 'json' && options.responseTransformer) { 125 - data = options.responseTransformer(data); 125 + data = await options.responseTransformer(data); 126 126 } 127 127 128 128 return {
+6 -2
packages/client-fetch/src/types.ts
··· 90 90 * {@link https://swagger.io/docs/specification/serialization/#query View examples} 91 91 */ 92 92 querySerializer?: QuerySerializer | QuerySerializerOptions; 93 - 94 - responseTransformer?: (data: unknown) => unknown; 93 + /** 94 + * A function for transforming response data before it's returned to the 95 + * caller function. This is an ideal place to post-process server data, 96 + * e.g. convert date ISO strings into native Date objects. 97 + */ 98 + responseTransformer?: (data: unknown) => Promise<unknown>; 95 99 } 96 100 97 101 interface RequestOptionsBase extends Omit<Config, 'global'> {
+3 -1
packages/openapi-ts/src/compiler/types.ts
··· 108 108 * Create Function type expression. 109 109 */ 110 110 export const createFunction = ({ 111 + async, 111 112 comment, 112 113 multiLine, 113 114 parameters = [], 114 115 returnType, 115 116 statements = [], 116 117 }: { 118 + async?: boolean; 117 119 comment?: Comments; 118 120 multiLine?: boolean; 119 121 parameters?: FunctionParameter[]; ··· 121 123 statements?: ts.Statement[]; 122 124 }) => { 123 125 const expression = ts.factory.createArrowFunction( 124 - undefined, 126 + async ? [ts.factory.createModifier(ts.SyntaxKind.AsyncKeyword)] : undefined, 125 127 undefined, 126 128 toParameterDeclarations(parameters), 127 129 returnType ? createTypeNode(returnType) : undefined,
+1 -1
packages/openapi-ts/src/templates/core/ApiRequestOptions.hbs
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/src/templates/core/angular/request.hbs
··· 80 80 81 81 let transformedBody = responseBody; 82 82 if (options.responseTransformer && response.ok) { 83 - transformedBody = options.responseTransformer(responseBody) 83 + transformedBody = await options.responseTransformer(responseBody) 84 84 } 85 85 86 86 return {
+1 -1
packages/openapi-ts/src/templates/core/axios/request.hbs
··· 84 84 85 85 let transformedBody = responseBody; 86 86 if (options.responseTransformer && isSuccess(response.status)) { 87 - transformedBody = options.responseTransformer(responseBody) 87 + transformedBody = await options.responseTransformer(responseBody) 88 88 } 89 89 90 90 const result: ApiResult = {
+1 -1
packages/openapi-ts/src/templates/core/fetch/request.hbs
··· 82 82 83 83 let transformedBody = responseBody; 84 84 if (options.responseTransformer && response.ok) { 85 - transformedBody = options.responseTransformer(responseBody) 85 + transformedBody = await options.responseTransformer(responseBody) 86 86 } 87 87 88 88 const result: ApiResult = {
+1 -1
packages/openapi-ts/src/templates/core/xhr/request.hbs
··· 80 80 81 81 let transformedBody = responseBody; 82 82 if (options.responseTransformer && isSuccess(response.status)) { 83 - transformedBody = options.responseTransformer(responseBody) 83 + transformedBody = await options.responseTransformer(responseBody) 84 84 } 85 85 86 86 const result: ApiResult = {
+6 -1
packages/openapi-ts/src/utils/write/transformers.ts
··· 66 66 }); 67 67 generateResponseTransformer({ 68 68 ...props, 69 + async: false, 69 70 name, 70 71 statements, 71 72 }); ··· 179 180 }; 180 181 181 182 const generateResponseTransformer = ({ 183 + async, 182 184 client, 183 185 name, 184 186 onNode, 185 187 onRemoveNode, 186 188 statements, 187 189 }: Pick<TypesProps, 'client' | 'onNode' | 'onRemoveNode'> & { 190 + async: boolean; 188 191 name: string; 189 192 statements: Array<ts.Statement>; 190 193 }) => { ··· 205 208 } 206 209 207 210 const expression = compiler.types.function({ 211 + async, 208 212 multiLine: true, 209 213 parameters: [ 210 214 { ··· 313 317 path: [dataVariableName], 314 318 }); 315 319 generateResponseTransformer({ 320 + async: true, 316 321 client, 317 322 name: nameCreated, 318 323 onNode, ··· 321 326 }); 322 327 }, 323 328 onNode, 324 - type: `(${dataVariableName}: any) => ${name}`, 329 + type: `(${dataVariableName}: any) => Promise<${name}>`, 325 330 }); 326 331 } 327 332 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v2/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v2/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_angular/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_angular/core/request.ts.snap
··· 303 303 304 304 let transformedBody = responseBody; 305 305 if (options.responseTransformer && response.ok) { 306 - transformedBody = options.responseTransformer(responseBody) 306 + transformedBody = await options.responseTransformer(responseBody) 307 307 } 308 308 309 309 return {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_angular_transform/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_angular_transform/core/request.ts.snap
··· 303 303 304 304 let transformedBody = responseBody; 305 305 if (options.responseTransformer && response.ok) { 306 - transformedBody = options.responseTransformer(responseBody) 306 + transformedBody = await options.responseTransformer(responseBody) 307 307 } 308 308 309 309 return {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_angular_transform/types.gen.ts.snap
··· 115 115 }; 116 116 }; 117 117 118 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 118 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 119 119 120 120 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 121 121 ··· 147 147 return data; 148 148 }; 149 149 150 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 150 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 151 151 if (data) { 152 152 ParentModelWithDatesModelResponseTransformer(data); 153 153 } 154 154 return data; 155 155 }; 156 156 157 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 157 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 158 158 159 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 159 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 160 160 ModelWithDatesModelResponseTransformer(data); 161 161 return data; 162 162 }; 163 163 164 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 164 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 165 165 166 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 166 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 167 167 if (Array.isArray(data)) { 168 168 data.forEach(ModelWithDatesModelResponseTransformer); 169 169 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_axios/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_axios/core/request.ts.snap
··· 325 325 326 326 let transformedBody = responseBody; 327 327 if (options.responseTransformer && isSuccess(response.status)) { 328 - transformedBody = options.responseTransformer(responseBody) 328 + transformedBody = await options.responseTransformer(responseBody) 329 329 } 330 330 331 331 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_axios_transform/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_axios_transform/core/request.ts.snap
··· 325 325 326 326 let transformedBody = responseBody; 327 327 if (options.responseTransformer && isSuccess(response.status)) { 328 - transformedBody = options.responseTransformer(responseBody) 328 + transformedBody = await options.responseTransformer(responseBody) 329 329 } 330 330 331 331 const result: ApiResult = {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_axios_transform/types.gen.ts.snap
··· 115 115 }; 116 116 }; 117 117 118 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 118 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 119 119 120 120 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 121 121 ··· 147 147 return data; 148 148 }; 149 149 150 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 150 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 151 151 if (data) { 152 152 ParentModelWithDatesModelResponseTransformer(data); 153 153 } 154 154 return data; 155 155 }; 156 156 157 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 157 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 158 158 159 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 159 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 160 160 ModelWithDatesModelResponseTransformer(data); 161 161 return data; 162 162 }; 163 163 164 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 164 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 165 165 166 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 166 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 167 167 if (Array.isArray(data)) { 168 168 data.forEach(ModelWithDatesModelResponseTransformer); 169 169 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_client/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_client/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_client_transform/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_client_transform/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_client_transform/types.gen.ts.snap
··· 115 115 }; 116 116 }; 117 117 118 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 118 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 119 119 120 120 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 121 121 ··· 147 147 return data; 148 148 }; 149 149 150 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 150 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 151 151 if (data) { 152 152 ParentModelWithDatesModelResponseTransformer(data); 153 153 } 154 154 return data; 155 155 }; 156 156 157 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 157 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 158 158 159 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 159 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 160 160 ModelWithDatesModelResponseTransformer(data); 161 161 return data; 162 162 }; 163 163 164 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 164 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 165 165 166 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 166 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 167 167 if (Array.isArray(data)) { 168 168 data.forEach(ModelWithDatesModelResponseTransformer); 169 169 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_enums_typescript/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_enums_typescript/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_hey-api_client-axios_transform/types.gen.ts.snap
··· 127 127 }; 128 128 }; 129 129 130 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 130 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 131 131 132 132 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 133 133 ··· 159 159 return data; 160 160 }; 161 161 162 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 162 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 163 163 if (data) { 164 164 ParentModelWithDatesModelResponseTransformer(data); 165 165 } 166 166 return data; 167 167 }; 168 168 169 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 169 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 170 170 171 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 171 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 172 172 ModelWithDatesModelResponseTransformer(data); 173 173 return data; 174 174 }; 175 175 176 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 176 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 177 177 178 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 178 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 179 179 if (Array.isArray(data)) { 180 180 data.forEach(ModelWithDatesModelResponseTransformer); 181 181 }
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_hey-api_client-fetch_transform/types.gen.ts.snap
··· 127 127 }; 128 128 }; 129 129 130 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 130 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 131 131 132 132 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 133 133 ··· 159 159 return data; 160 160 }; 161 161 162 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 162 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 163 163 if (data) { 164 164 ParentModelWithDatesModelResponseTransformer(data); 165 165 } 166 166 return data; 167 167 }; 168 168 169 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 169 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 170 170 171 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 171 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 172 172 ModelWithDatesModelResponseTransformer(data); 173 173 return data; 174 174 }; 175 175 176 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 176 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 177 177 178 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 178 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 179 179 if (Array.isArray(data)) { 180 180 data.forEach(ModelWithDatesModelResponseTransformer); 181 181 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_legacy_positional_args/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_legacy_positional_args/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_node/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_node/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_node_transform/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_node_transform/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_node_transform/types.gen.ts.snap
··· 115 115 }; 116 116 }; 117 117 118 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 118 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 119 119 120 120 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 121 121 ··· 147 147 return data; 148 148 }; 149 149 150 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 150 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 151 151 if (data) { 152 152 ParentModelWithDatesModelResponseTransformer(data); 153 153 } 154 154 return data; 155 155 }; 156 156 157 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 157 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 158 158 159 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 159 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 160 160 ModelWithDatesModelResponseTransformer(data); 161 161 return data; 162 162 }; 163 163 164 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 164 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 165 165 166 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 166 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 167 167 if (Array.isArray(data)) { 168 168 data.forEach(ModelWithDatesModelResponseTransformer); 169 169 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_options/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_options/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_transform/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_transform/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && response.ok) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_transform/types.gen.ts.snap
··· 115 115 }; 116 116 }; 117 117 118 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 118 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 119 119 120 120 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 121 121 ··· 147 147 return data; 148 148 }; 149 149 150 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 150 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 151 151 if (data) { 152 152 ParentModelWithDatesModelResponseTransformer(data); 153 153 } 154 154 return data; 155 155 }; 156 156 157 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 157 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 158 158 159 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 159 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 160 160 ModelWithDatesModelResponseTransformer(data); 161 161 return data; 162 162 }; 163 163 164 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 164 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 165 165 166 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 166 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 167 167 if (Array.isArray(data)) { 168 168 data.forEach(ModelWithDatesModelResponseTransformer); 169 169 }
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_xhr/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_xhr/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && isSuccess(response.status)) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_xhr_transform/core/ApiRequestOptions.ts.snap
··· 9 9 readonly body?: any; 10 10 readonly mediaType?: string; 11 11 readonly responseHeader?: string; 12 - readonly responseTransformer?: (data: unknown) => T; 12 + readonly responseTransformer?: (data: unknown) => Promise<T>; 13 13 readonly errors?: Record<number | string, string>; 14 14 };
+1 -1
packages/openapi-ts/test/__snapshots__/test/generated/v3_xhr_transform/core/request.ts.snap
··· 328 328 329 329 let transformedBody = responseBody; 330 330 if (options.responseTransformer && isSuccess(response.status)) { 331 - transformedBody = options.responseTransformer(responseBody) 331 + transformedBody = await options.responseTransformer(responseBody) 332 332 } 333 333 334 334 const result: ApiResult = {
+6 -6
packages/openapi-ts/test/__snapshots__/test/generated/v3_xhr_transform/types.gen.ts.snap
··· 115 115 }; 116 116 }; 117 117 118 - export type ParentModelWithDatesResponseTransformer = (data: any) => ParentModelWithDatesResponse; 118 + export type ParentModelWithDatesResponseTransformer = (data: any) => Promise<ParentModelWithDatesResponse>; 119 119 120 120 export type ParentModelWithDatesModelResponseTransformer = (data: any) => ParentModelWithDates; 121 121 ··· 147 147 return data; 148 148 }; 149 149 150 - export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = data => { 150 + export const ParentModelWithDatesResponseTransformer: ParentModelWithDatesResponseTransformer = async (data) => { 151 151 if (data) { 152 152 ParentModelWithDatesModelResponseTransformer(data); 153 153 } 154 154 return data; 155 155 }; 156 156 157 - export type ModelWithDatesResponseTransformer = (data: any) => ModelWithDatesResponse; 157 + export type ModelWithDatesResponseTransformer = (data: any) => Promise<ModelWithDatesResponse>; 158 158 159 - export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = data => { 159 + export const ModelWithDatesResponseTransformer: ModelWithDatesResponseTransformer = async (data) => { 160 160 ModelWithDatesModelResponseTransformer(data); 161 161 return data; 162 162 }; 163 163 164 - export type ModelWithDatesArrayResponseTransformer = (data: any) => ModelWithDatesArrayResponse; 164 + export type ModelWithDatesArrayResponseTransformer = (data: any) => Promise<ModelWithDatesArrayResponse>; 165 165 166 - export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = data => { 166 + export const ModelWithDatesArrayResponseTransformer: ModelWithDatesArrayResponseTransformer = async (data) => { 167 167 if (Array.isArray(data)) { 168 168 data.forEach(ModelWithDatesModelResponseTransformer); 169 169 }