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 #435 from hey-api/feat/move-use-dates-option

feat: replace useDateType with option in types object

authored by

Jordan Shatford and committed by
GitHub
5503bcda 62c87b38

+41 -44
+5
.changeset/soft-ladybugs-shave.md
··· 1 + --- 2 + "@hey-api/openapi-ts": minor 3 + --- 4 + 5 + feat: replace useDateType with option in types object
+14
docs/openapi-ts/migrating.md
··· 78 78 } 79 79 ``` 80 80 81 + ### Removed `useDateType` 82 + 83 + This config option has been removed. You can now configure date type using the `types.dates` option. 84 + 85 + ```js{5} 86 + export default { 87 + input: 'path/to/openapi.json', 88 + output: 'src/client', 89 + type: { 90 + dates: true, 91 + }, 92 + } 93 + ``` 94 + 81 95 ## v0.40.0 82 96 83 97 ### Renamed `models.gen.ts` file
-5
packages/openapi-ts/bin/index.cjs
··· 37 37 .option('--schemas [value]', 'Write schemas to disk') 38 38 .option('--services [value]', 'Write services to disk') 39 39 .option('--types [value]', 'Write types to disk') 40 - .option( 41 - '--useDateType [value]', 42 - 'Output Date instead of string for the format "date-time" in the models', 43 - ) 44 40 .option('--useOptions [value]', 'Use options instead of arguments') 45 41 .parse(process.argv) 46 42 .opts(); ··· 82 78 'schemas', 83 79 'services', 84 80 'types', 85 - 'useDateType', 86 81 'useOptions', 87 82 ]); 88 83 await createClient(userConfig);
-1
packages/openapi-ts/rollup.config.ts
··· 28 28 ifdef: true, 29 29 notEquals: true, 30 30 transformServiceName: true, 31 - useDateType: true, 32 31 }, 33 32 knownHelpersOnly: true, 34 33 noEscape: true,
+1 -2
packages/openapi-ts/src/index.ts
··· 125 125 126 126 const getTypes = (userConfig: UserConfig): Config['types'] => { 127 127 let types: Config['types'] = { 128 + dates: false, 128 129 export: true, 129 130 name: 'preserve', 130 131 }; ··· 169 170 name, 170 171 operationId = true, 171 172 request, 172 - useDateType = false, 173 173 useOptions = true, 174 174 } = userConfig; 175 175 ··· 218 218 schemas, 219 219 services, 220 220 types, 221 - useDateType, 222 221 useOptions, 223 222 }); 224 223 };
-2
packages/openapi-ts/src/openApi/common/parser/__tests__/operation.spec.ts
··· 29 29 types: { 30 30 export: false, 31 31 }, 32 - useDateType: false, 33 32 useOptions: false, 34 33 }; 35 34 ··· 54 53 types: { 55 54 export: false, 56 55 }, 57 - useDateType: false, 58 56 useOptions: false, 59 57 }; 60 58
-1
packages/openapi-ts/src/openApi/v2/parser/__tests__/getServices.spec.ts
··· 19 19 schemas: {}, 20 20 services: {}, 21 21 types: {}, 22 - useDateType: false, 23 22 useOptions: true, 24 23 }); 25 24
-1
packages/openapi-ts/src/openApi/v3/parser/__tests__/getServices.spec.ts
··· 19 19 schemas: {}, 20 20 services: {}, 21 21 types: {}, 22 - useDateType: false, 23 22 useOptions: true, 24 23 }); 25 24
+5 -5
packages/openapi-ts/src/types/config.ts
··· 116 116 | string 117 117 | { 118 118 /** 119 + * Output Date instead of string for format "date-time" 120 + * @default false 121 + */ 122 + dates?: boolean; 123 + /** 119 124 * Generate types? 120 125 * @default true 121 126 */ ··· 130 135 */ 131 136 name?: 'PascalCase' | 'preserve'; 132 137 }; 133 - /** 134 - * Output Date instead of string for the format "date-time" in the models 135 - * @default false 136 - */ 137 - useDateType?: boolean; 138 138 /** 139 139 * Use options or arguments functions 140 140 * @default true
-2
packages/openapi-ts/src/utils/__tests__/handlebars.spec.ts
··· 23 23 schemas: {}, 24 24 services: {}, 25 25 types: {}, 26 - useDateType: false, 27 26 useOptions: false, 28 27 }); 29 28 registerHandlebarHelpers(); ··· 52 51 schemas: {}, 53 52 services: {}, 54 53 types: {}, 55 - useDateType: false, 56 54 useOptions: false, 57 55 }); 58 56 const templates = registerHandlebarTemplates();
-1
packages/openapi-ts/src/utils/write/__tests__/class.spec.ts
··· 26 26 schemas: {}, 27 27 services: {}, 28 28 types: {}, 29 - useDateType: false, 30 29 useOptions: true, 31 30 }); 32 31
-1
packages/openapi-ts/src/utils/write/__tests__/client.spec.ts
··· 25 25 schemas: {}, 26 26 services: {}, 27 27 types: {}, 28 - useDateType: false, 29 28 useOptions: false, 30 29 }); 31 30
-3
packages/openapi-ts/src/utils/write/__tests__/core.spec.ts
··· 40 40 schemas: {}, 41 41 services: {}, 42 42 types: {}, 43 - useDateType: false, 44 43 useOptions: true, 45 44 }); 46 45 ··· 96 95 schemas: {}, 97 96 services: {}, 98 97 types: {}, 99 - useDateType: false, 100 98 useOptions: true, 101 99 }); 102 100 ··· 135 133 schemas: {}, 136 134 services: {}, 137 135 types: {}, 138 - useDateType: false, 139 136 useOptions: true, 140 137 }); 141 138
-1
packages/openapi-ts/src/utils/write/__tests__/index.spec.ts
··· 25 25 schemas: {}, 26 26 services: {}, 27 27 types: {}, 28 - useDateType: false, 29 28 useOptions: true, 30 29 }); 31 30
-1
packages/openapi-ts/src/utils/write/__tests__/models.spec.ts
··· 26 26 schemas: {}, 27 27 services: {}, 28 28 types: {}, 29 - useDateType: false, 30 29 useOptions: true, 31 30 }); 32 31
-1
packages/openapi-ts/src/utils/write/__tests__/schemas.spec.ts
··· 27 27 schemas: {}, 28 28 services: {}, 29 29 types: {}, 30 - useDateType: false, 31 30 useOptions: true, 32 31 }); 33 32
-1
packages/openapi-ts/src/utils/write/__tests__/services.spec.ts
··· 25 25 schemas: {}, 26 26 services: {}, 27 27 types: {}, 28 - useDateType: false, 29 28 useOptions: false, 30 29 }); 31 30
+1 -1
packages/openapi-ts/src/utils/write/type.ts
··· 12 12 if (model.base === 'binary') { 13 13 return compiler.typedef.union(['Blob', 'File']); 14 14 } 15 - if (config.useDateType && model.format === 'date-time') { 15 + if (config.types.dates && model.format === 'date-time') { 16 16 return compiler.typedef.basic('Date'); 17 17 } 18 18 // transform root level model names
-8
packages/openapi-ts/test/bin.spec.ts
··· 225 225 'false', 226 226 '--operationId', 227 227 'false', 228 - '--useDateType', 229 - 'false', 230 228 '--useOptions', 231 229 'false', 232 230 '--dry-run', ··· 241 239 expect(result.stderr.toString()).toContain('lint: false'); 242 240 expect(result.stderr.toString()).toContain('operationId: false'); 243 241 expect(result.stderr.toString()).toContain('schemas: false'); 244 - expect(result.stderr.toString()).toContain('useDateType: false'); 245 242 expect(result.stderr.toString()).toContain('useOptions: false'); 246 243 }); 247 244 ··· 267 264 'true', 268 265 '--operationId', 269 266 'true', 270 - '--useDateType', 271 - 'true', 272 267 '--useOptions', 273 268 'true', 274 269 '--dry-run', ··· 283 278 expect(result.stderr.toString()).toContain('lint: true'); 284 279 expect(result.stderr.toString()).toContain('operationId: true'); 285 280 expect(result.stderr.toString()).toContain('schemas: true'); 286 - expect(result.stderr.toString()).toContain('useDateType: true'); 287 281 expect(result.stderr.toString()).toContain('useOptions: true'); 288 282 }); 289 283 ··· 304 298 '--format', 305 299 '--lint', 306 300 '--operationId', 307 - '--useDateType', 308 301 '--useOptions', 309 302 '--dry-run', 310 303 'true', ··· 316 309 expect(result.stderr.toString()).toContain('lint: true'); 317 310 expect(result.stderr.toString()).toContain('operationId: true'); 318 311 expect(result.stderr.toString()).toContain('schemas: true'); 319 - expect(result.stderr.toString()).toContain('useDateType: true'); 320 312 expect(result.stderr.toString()).toContain('useOptions: true'); 321 313 expect(result.stderr.toString()).toContain("types: 'foo"); 322 314 expect(result.stderr.toString()).toContain("services: 'bar'");
+15 -7
packages/openapi-ts/test/index.spec.ts
··· 119 119 exportCore: false, 120 120 schemas: false, 121 121 services: false, 122 - types: '^ModelWithPattern', 123 - useDateType: true, 122 + types: { 123 + dates: true, 124 + include: '^ModelWithPattern', 125 + }, 124 126 } as UserConfig, 125 127 description: 'generate Date types', 126 128 name: 'v3_date', ··· 130 132 ...config, 131 133 schemas: false, 132 134 services: '^Defaults', 133 - types: '^ModelWithString', 134 - useDateType: true, 135 + types: { 136 + dates: true, 137 + include: '^ModelWithString', 138 + }, 135 139 useOptions: false, 136 140 } as UserConfig, 137 141 description: 'generate legacy positional arguments', ··· 142 146 ...config, 143 147 schemas: false, 144 148 services: '^Defaults', 145 - types: '^ModelWithString', 146 - useDateType: true, 149 + types: { 150 + dates: true, 151 + include: '^ModelWithString', 152 + }, 147 153 } as UserConfig, 148 154 description: 'generate optional arguments', 149 155 name: 'v3_options', ··· 153 159 ...config, 154 160 name: 'ApiClient', 155 161 schemas: false, 156 - useDateType: true, 162 + types: { 163 + dates: true, 164 + }, 157 165 } as UserConfig, 158 166 description: 'generate client', 159 167 name: 'v3_client',