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 #434 from hey-api/feat/move-service-repsonse

feat: replace serviceResponse with option in services object

authored by

Jordan Shatford and committed by
GitHub
62c87b38 a15612da

+39 -38
+5
.changeset/swift-bears-promise.md
··· 1 + --- 2 + "@hey-api/openapi-ts": minor 3 + --- 4 + 5 + feat: replace serviceResponse with option in services object
+14
docs/openapi-ts/migrating.md
··· 64 64 } 65 65 ``` 66 66 67 + ### Removed `serviceResponse` 68 + 69 + This config option has been removed. You can now configure service responses using the `services.response` option. 70 + 71 + ```js{5} 72 + export default { 73 + input: 'path/to/openapi.json', 74 + output: 'src/client', 75 + services: { 76 + response: 'body', 77 + }, 78 + } 79 + ``` 80 + 67 81 ## v0.40.0 68 82 69 83 ### Renamed `models.gen.ts` file
-4
packages/openapi-ts/bin/index.cjs
··· 35 35 .option('--operationId [value]', 'Use operationd ID?') 36 36 .option('--request <value>', 'Path to custom request file') 37 37 .option('--schemas [value]', 'Write schemas to disk') 38 - .option( 39 - '--serviceResponse [value]', 40 - 'Define shape of returned value from service calls', 41 - ) 42 38 .option('--services [value]', 'Write services to disk') 43 39 .option('--types [value]', 'Write types to disk') 44 40 .option(
+1 -2
packages/openapi-ts/src/index.ts
··· 108 108 let services: Config['services'] = { 109 109 export: true, 110 110 name: '{{name}}Service', 111 + response: 'body', 111 112 }; 112 113 if (typeof userConfig.services === 'boolean') { 113 114 services.export = userConfig.services; ··· 168 169 name, 169 170 operationId = true, 170 171 request, 171 - serviceResponse = 'body', 172 172 useDateType = false, 173 173 useOptions = true, 174 174 } = userConfig; ··· 216 216 output, 217 217 request, 218 218 schemas, 219 - serviceResponse, 220 219 services, 221 220 types, 222 221 useDateType,
+2 -2
packages/openapi-ts/src/openApi/common/parser/__tests__/operation.spec.ts
··· 22 22 schemas: { 23 23 export: false, 24 24 }, 25 - serviceResponse: 'body', 26 25 services: { 27 26 export: false, 27 + response: 'body', 28 28 }, 29 29 types: { 30 30 export: false, ··· 47 47 schemas: { 48 48 export: false, 49 49 }, 50 - serviceResponse: 'body', 51 50 services: { 52 51 export: false, 52 + response: 'body', 53 53 }, 54 54 types: { 55 55 export: false,
-1
packages/openapi-ts/src/openApi/v2/parser/__tests__/getServices.spec.ts
··· 17 17 operationId: false, 18 18 output: '', 19 19 schemas: {}, 20 - serviceResponse: 'body', 21 20 services: {}, 22 21 types: {}, 23 22 useDateType: false,
-1
packages/openapi-ts/src/openApi/v3/parser/__tests__/getServices.spec.ts
··· 17 17 operationId: true, 18 18 output: '', 19 19 schemas: {}, 20 - serviceResponse: 'body', 21 20 services: {}, 22 21 types: {}, 23 22 useDateType: false,
+3 -3
packages/openapi-ts/src/templates/core/axios/request.hbs
··· 61 61 * @param config The OpenAPI configuration object 62 62 * @param options The request options from the service 63 63 * @param axiosClient The axios client instance to use 64 - * @returns CancelablePromise<{{#equals @root.$config.serviceResponse 'response'}}ApiResult<T>{{else}}T{{/equals}}> 64 + * @returns CancelablePromise<{{#equals @root.$config.services.response 'response'}}ApiResult<T>{{else}}T{{/equals}}> 65 65 * @throws ApiError 66 66 */ 67 - export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<{{#equals @root.$config.serviceResponse 'response'}}ApiResult<T>{{else}}T{{/equals}}> => { 67 + export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, axiosClient: AxiosInstance = axios): CancelablePromise<{{#equals @root.$config.services.response 'response'}}ApiResult<T>{{else}}T{{/equals}}> => { 68 68 return new CancelablePromise(async (resolve, reject, onCancel) => { 69 69 try { 70 70 const url = getUrl(config, options); ··· 92 92 93 93 catchErrorCodes(options, result); 94 94 95 - resolve({{#equals @root.$config.serviceResponse 'body'}}result.body{{else}}result{{/equals}}); 95 + resolve({{#equals @root.$config.services.response 'body'}}result.body{{else}}result{{/equals}}); 96 96 } 97 97 } catch (error) { 98 98 reject(error);
+3 -3
packages/openapi-ts/src/templates/core/fetch/request.hbs
··· 59 59 * Request method 60 60 * @param config The OpenAPI configuration object 61 61 * @param options The request options from the service 62 - * @returns CancelablePromise<{{#equals @root.$config.serviceResponse 'response'}}ApiResult<T>{{else}}T{{/equals}}> 62 + * @returns CancelablePromise<{{#equals @root.$config.services.response 'response'}}ApiResult<T>{{else}}T{{/equals}}> 63 63 * @throws ApiError 64 64 */ 65 - export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<{{#equals @root.$config.serviceResponse 'response'}}ApiResult<T>{{else}}T{{/equals}}> => { 65 + export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<{{#equals @root.$config.services.response 'response'}}ApiResult<T>{{else}}T{{/equals}}> => { 66 66 return new CancelablePromise(async (resolve, reject, onCancel) => { 67 67 try { 68 68 const url = getUrl(config, options); ··· 90 90 91 91 catchErrorCodes(options, result); 92 92 93 - resolve({{#equals @root.$config.serviceResponse 'body'}}result.body{{else}}result{{/equals}}); 93 + resolve({{#equals @root.$config.services.response 'body'}}result.body{{else}}result{{/equals}}); 94 94 } 95 95 } catch (error) { 96 96 reject(error);
+3 -3
packages/openapi-ts/src/templates/core/xhr/request.hbs
··· 57 57 * Request method 58 58 * @param config The OpenAPI configuration object 59 59 * @param options The request options from the service 60 - * @returns CancelablePromise<{{#equals @root.$config.serviceResponse 'response'}}ApiResult<T>{{else}}T{{/equals}}> 60 + * @returns CancelablePromise<{{#equals @root.$config.services.response 'response'}}ApiResult<T>{{else}}T{{/equals}}> 61 61 * @throws ApiError 62 62 */ 63 - export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<{{#equals @root.$config.serviceResponse 'response'}}ApiResult<T>{{else}}T{{/equals}}> => { 63 + export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<{{#equals @root.$config.services.response 'response'}}ApiResult<T>{{else}}T{{/equals}}> => { 64 64 return new CancelablePromise(async (resolve, reject, onCancel) => { 65 65 try { 66 66 const url = getUrl(config, options); ··· 88 88 89 89 catchErrorCodes(options, result); 90 90 91 - resolve({{#equals @root.$config.serviceResponse 'body'}}result.body{{else}}result{{/equals}}); 91 + resolve({{#equals @root.$config.services.response 'body'}}result.body{{else}}result{{/equals}}); 92 92 } 93 93 } catch (error) { 94 94 reject(error);
+5 -5
packages/openapi-ts/src/types/config.ts
··· 80 80 type?: 'form' | 'json'; 81 81 }; 82 82 /** 83 - * Define shape of returned value from service calls 84 - * @default 'body' 85 - */ 86 - serviceResponse?: 'body' | 'response'; 87 - /** 88 83 * Generate services? 89 84 * @default true 90 85 */ ··· 106 101 * @default '{{name}}Service' 107 102 */ 108 103 name?: string; 104 + /** 105 + * Define shape of returned value from service calls 106 + * @default 'body' 107 + */ 108 + response?: 'body' | 'response'; 109 109 }; 110 110 /** 111 111 * Generate types?
-2
packages/openapi-ts/src/utils/__tests__/handlebars.spec.ts
··· 21 21 operationId: true, 22 22 output: '', 23 23 schemas: {}, 24 - serviceResponse: 'body', 25 24 services: {}, 26 25 types: {}, 27 26 useDateType: false, ··· 51 50 operationId: true, 52 51 output: '', 53 52 schemas: {}, 54 - serviceResponse: 'body', 55 53 services: {}, 56 54 types: {}, 57 55 useDateType: false,
-1
packages/openapi-ts/src/utils/write/__tests__/class.spec.ts
··· 24 24 operationId: true, 25 25 output: '', 26 26 schemas: {}, 27 - serviceResponse: 'body', 28 27 services: {}, 29 28 types: {}, 30 29 useDateType: false,
-1
packages/openapi-ts/src/utils/write/__tests__/client.spec.ts
··· 23 23 operationId: true, 24 24 output: './dist', 25 25 schemas: {}, 26 - serviceResponse: 'body', 27 26 services: {}, 28 27 types: {}, 29 28 useDateType: false,
-3
packages/openapi-ts/src/utils/write/__tests__/core.spec.ts
··· 38 38 operationId: true, 39 39 output: '', 40 40 schemas: {}, 41 - serviceResponse: 'body', 42 41 services: {}, 43 42 types: {}, 44 43 useDateType: false, ··· 95 94 operationId: true, 96 95 output: '', 97 96 schemas: {}, 98 - serviceResponse: 'body', 99 97 services: {}, 100 98 types: {}, 101 99 useDateType: false, ··· 135 133 operationId: true, 136 134 output: '', 137 135 schemas: {}, 138 - serviceResponse: 'body', 139 136 services: {}, 140 137 types: {}, 141 138 useDateType: false,
-1
packages/openapi-ts/src/utils/write/__tests__/index.spec.ts
··· 23 23 operationId: true, 24 24 output: '', 25 25 schemas: {}, 26 - serviceResponse: 'body', 27 26 services: {}, 28 27 types: {}, 29 28 useDateType: false,
-1
packages/openapi-ts/src/utils/write/__tests__/models.spec.ts
··· 24 24 operationId: true, 25 25 output: '', 26 26 schemas: {}, 27 - serviceResponse: 'body', 28 27 services: {}, 29 28 types: {}, 30 29 useDateType: false,
-1
packages/openapi-ts/src/utils/write/__tests__/schemas.spec.ts
··· 25 25 operationId: true, 26 26 output: '', 27 27 schemas: {}, 28 - serviceResponse: 'body', 29 28 services: {}, 30 29 types: {}, 31 30 useDateType: false,
-1
packages/openapi-ts/src/utils/write/__tests__/services.spec.ts
··· 23 23 operationId: true, 24 24 output: '', 25 25 schemas: {}, 26 - serviceResponse: 'body', 27 26 services: {}, 28 27 types: {}, 29 28 useDateType: false,
+1 -1
packages/openapi-ts/src/utils/write/index.ts
··· 14 14 15 15 if (config.exportCore) { 16 16 files.index.add(compiler.export.named('ApiError', './core/ApiError')); 17 - if (config.serviceResponse === 'response') { 17 + if (config.services.response === 'response') { 18 18 files.index.add( 19 19 compiler.export.named( 20 20 { isTypeOnly: true, name: 'ApiResult' },
+2 -2
packages/openapi-ts/src/utils/write/services.ts
··· 59 59 ); 60 60 returnType = compiler.typedef.union(types); 61 61 } 62 - if (config.useOptions && config.serviceResponse === 'response') { 62 + if (config.useOptions && config.services.response === 'response') { 63 63 returnType = compiler.typedef.basic('ApiResult', [returnType]); 64 64 } 65 65 if (config.client === 'angular') { ··· 301 301 './core/CancelablePromise', 302 302 ); 303 303 } 304 - if (config.serviceResponse === 'response') { 304 + if (config.services.response === 'response') { 305 305 file.addNamedImport( 306 306 { isTypeOnly: true, name: 'ApiResult' }, 307 307 './core/ApiResult',