type-openapi
Features
- Parses open api v3 specs in JSON or YAML format
- load open api v3 from file, url, json string, plain javascript object
- Resolves all
$ref
pointers, including external files and URLs - Construct open api to calsses
- Get embedded object and properties like vendor extension, security requirements
- Type safety
Example
- typescript
async
/await
; { const url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/api-with-examples.yaml" const spec: OpenAPi = await Loader console}
- typescript
callback
; { const url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/api-with-examples.yaml" CallbackLoader; }
- javascript
async
/await
;const Loader = { const url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/api-with-examples.yaml" const spec = await Loader console}
- javascript
callback
;const CallbackLoader = { const url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/api-with-examples.yaml" CallbackLoader;}
Installation
Install using npm:
-
Install module:
npm install type-openapi -
reflect-metadata
shim is required, install it too:npm install reflect-metadataand make sure to import it in a global place, like app.ts:
;OR
;
API Documentation
Full API documentation is available right here
Contributing
I welcome any contributions, features, enhancements, and bug-fixes. File an issue on GitHub and submit a pull request.
License
Type OpenAPi is 100% free and open-source, under the MIT license. Use it however you want.