# Compare to other libraries Depending on which generator you use, you will see different output. For instance: Different ways of generating models, services, level of quality, HTTP client, etc. I've compiled a list below with the results per area and how they compare against the openapi-typescript-codegen. I've used the standard petshop examples from OpenAPI: - https://petstore3.swagger.io/api/v3/openapi.json - https://petstore.swagger.io/v2/swagger.json And used the following generators with their default options: - typescript-aurelia - typescript-angular - typescript-inversify - typescript-angular - typescript-fetch - typescript-jquery - typescript-node #Results
| openapi-typscript-codegen | aurelia | inversify | angular | fetch | jquery | node | |
|---|---|---|---|---|---|---|---|
| Supports OpenApi v2 specification | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Supports OpenApi v3 specification | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| Supports authentication | ✅ Bearer token |
❌ | ✅ Bearer token |
✅ Bearer token |
✅ Bearer token |
✅ Bearer token |
✅ Bearer token |
| Strongly typed models | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ Using classes instead of simple interfaces |
| Strongly typed enums | ✅ | ✅ No enum is exported |
✅ | ✅ Odd cast to <any> |
✅ Odd cast to <any> |
✅ Odd cast to <any> |
✅ Odd cast to <any> |
| Models and services exported as individual files | ✅ | ❌ All models inside one file |
✅ | ✅ | ❌ All models and services inside one file |
✅ | ❌ All models and services inside one file |
| Index file that exports all services and models | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ |
| Service returns typed result | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| Service supports sending and receiving binary content | ✅ | ✅ | ✅ | ❌ Passing file as application/octet-stream |
❌ Passing file as application/octet-stream |
✅ | ✅ |
| Models and services contain inline documentation | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Framework agnostic | ✅ | ❌ No, using aurelia |
❌ No, using inversify and rxjs |
❌ No, using angular |
✅ But depends on portable-fetch |
❌ No, using jquery |
❌ No, can only be used with NodeJS http |