oas
    TypeScript icon, indicating that this package has built-in type declarations

    17.6.0 • Public • Published

    oas

    Working with OpenAPI definitions is hard. This makes it easier.

    Build

    Installation

    npm install oas
    

    CLI

    The CLI tool makes creating API definition files easier. It currently supports OpenAPI 3.x and Swagger 2.0 documents.

    Usage

    Go to a directory with your API, and type:

    oas init
    

    It will walk you through how to document your API with a OpenAPI 3.0 Spec.

    Swagger Inline

    oas uses swagger-inline which allows you include a little OpenAPI snippet in a comment above your code, and collects them all together into one OpenAPI file:

    /*
     * @oas [get] /pet/{petId}
     * description: "Returns all pets from the system that the user has access to"
     * parameters:
     *   - (path) petId=hi* {String} The pet ID
     *   - (query) limit {Integer:int32} The number of resources to return
    */
    route.get("/pet/:petId", pet.show);

    You need to start with @oas [method] path, but everything below it is a valid Path Definition.

    You can also do inline parameters, which are shorthand for parameters. They aren't valid OpenAPI properties but swagger-inline knows how to compile them:

    - (in) name=default* {type:format} Description
    

    Tooling

    This library also exposes a set of tooling to help you manage OpenAPI definitions. You can access it by loading:

    import Oas from 'oas';
    // or: const Oas = require('oas').default;

    Also exposed within the main oas export is an Operation class that can help you manage and retrieve specific data from an API operation.

    If you need to use this library within a browser you'll likely need to use a bundler like Webpack or Rollup.

    Dependents (4)

    Install

    npm i oas

    DownloadsWeekly Downloads

    21,219

    Version

    17.6.0

    License

    MIT

    Unpacked Size

    447 kB

    Total Files

    73

    Last publish

    Collaborators

    • owlbert
    • domharrington
    • gkoberger
    • mjcuva
    • dok
    • kanadgupta
    • jonursenbach
    • rafegoldberg
    • dashron
    • iliast