apidoc-plugin-ts-archlet
v2.1.0
Published
A plugin for apidoc leveraging TypeScript interfaces.
Downloads
4
Maintainers
Readme
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}