Socket
Book a DemoInstallSign in
Socket

koa-resourcer-docs

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koa-resourcer-docs

Simple route documentation for koa-resourcer.

0.4.0
latest
Source
npmnpm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

#koa-resourcer-docs

Introduction

A simple documentation generator for koa-resourcer.

App resources that have exposed routes will be parsed and documented.

Use

In your app:

var koa = require('koa');
var join = require('path').join;
var resource = require('koa-resourcer');
var docs = require('koa-resourcer-docs');

var app = koa();
resource(app, join(__dirname, 'resources'), docs.addRoute);
app.listen();

In each resource app:

var koa = require('koa');
var Router = require('koa-joi-router');

var router = Router();
var app = module.exports = koa();

// Expose routes to documentation generator
app.routes = router.routes;

// Define some routes...

app.use(router.middleware());

Configuration

Add a description to the route config:

router.get('/', {meta: {description: 'Home page'}}, function* () {
  this.body = "Home page under construction since 2009";
});

Hide a resource by not exposing routes:

// Expose routes to documentation generator
//app.routes = router.routes;

Hide individual routes in a resource app from documentation by adding hide: true to route metadata:

// Documented route:
router.get('/', {meta: {description: 'Main route'}}, function* () {
  this.body = 'Hello world';
});

// Hidden route:
router.get('/secretRoute', {meta: {description: 'Nobody here but us chickens.', hide: true}}, function* () {
  this.body = 'This is a hidden world';
});

Add middleware to intercept requests before routing to docs:

var docs = require('koa-resourcer-docs');

// Respond with 404 if not in a development environment
docs.useRequestHandler(function* (next) {
  if (process.env.NODE_ENV === 'development') {
    return yield next;
  }
  this.throw(404);
});

For backwards compatibility "hide" and "description" on the koa-joi-router configuration object are still supported but no longer recommended since they pollute the namespace of the configuration.

Installation

npm install koa-resourcer-docs --save

Sponsored by

Pebble Technology!

LICENSE

MIT

Keywords

koa

FAQs

Package last updated on 20 Aug 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.