Novelty Promotes Magicians

    apidoc-plugin-ts-archlet

    2.1.0 • Public • Published

    apidoc-plugin-ts

    A plugin for apidoc that injects @apiSuccess and @apiParam params from TypeScript interfaces. Supports extended and nested interfaces.

    Getting started

    npm install --save-dev apidoc @archlet/apidoc-plugin-ts
    yarn add -D apidoc @archlet/apidoc-plugin-ts

    A custom api-doc param @apiInterfaceSuccess is exposed:

    @apiInterfaceSuccess (optional path to definitions file) {INTERFACE_NAME}

    Example

    Given the following interface:

    // filename: ./employers.ts
    
    export interface Employer {
      /**
       * Employer job title
       */
      jobTitle: string;
      /**
       * Employer personal details
       */
      personalDetails: {
        name: string;
        age: number;
      }
    }

    @apiInterfaceSuccess example

    and the following custom param:

    @apiInterfaceSuccess (./employers.ts) {Employer}

    under the hood this would transpile to:

    @apiSuccess {String} jobTitle Job title
    @apiSuccess {Object} personalDetails Employer personal details
    @apiSuccess {String} personalDetails.name
    @apiSuccess {Number} personalDetails.age

    Note if the Person interface is defined in the same file then you can drop the path:

    @apiInterfaceSuccess {Person}

    @apiInterfaceParam example

    and the following custom param:

    @apiInterfaceParam (./employers.ts) {Employer}

    under the hood this would transpile to:

    @apiParam {String} jobTitle Job title
    @apiParam {Object} personalDetails Employer personal details
    @apiParam {String} personalDetails.name
    @apiParam {Number} personalDetails.age

    Note if the Person interface is defined in the same file then you can drop the path:

    @apiInterfaceParam {Person}

    Install

    npm i apidoc-plugin-ts-archlet

    DownloadsWeekly Downloads

    159

    Version

    2.1.0

    License

    MIT

    Unpacked Size

    34.6 kB

    Total Files

    9

    Last publish

    Collaborators

    • toitsss