https://github.com/typeaware/oredoc
Node.js ApiDoc generator (programmatic)
https://github.com/typeaware/oredoc
api developer-experience docs documentation-generator dx nodejs programmatic restful-api
Last synced: 5 days ago
JSON representation
Node.js ApiDoc generator (programmatic)
- Host: GitHub
- URL: https://github.com/typeaware/oredoc
- Owner: TypeAware
- License: mit
- Created: 2018-11-15T02:42:45.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-06T06:58:21.000Z (over 7 years ago)
- Last Synced: 2025-09-11T06:20:59.138Z (8 months ago)
- Topics: api, developer-experience, docs, documentation-generator, dx, nodejs, programmatic, restful-api
- Language: TypeScript
- Homepage:
- Size: 1.46 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
### OreDoc: @oresoftware/doc & oredoc
To use OreDoc, you would write code resembling:
```typescript
import * as express from 'express';
import {RequestHandler} from 'express';
import {DocGen, Entity, Route, RouteBase, RouteMulti} from '../dist/main';
const router = express.Router();
const doc = new DocGen();
export const register = (v: any) => {
const entity = doc.createAndAddEntity('foo');
router.get('/', makeGetFoo(v, entity));
router.put('/', makePutFoo(v, entity));
};
const makeGetFoo = (v: any, e: Entity): RequestHandler => {
const r = new RouteMulti({
headers: {},
body: {}
}, {
body: {
success: {
foo: 'yes'
}
}
});
//
type SuccessResponse = typeof r.res.body.success;
e.addRoute({
path: '',
example: r
});
return (req, res, next) => {
const headers = req.headers.foo;
res.json( {foo: ''});
};
};
const makePutFoo = (v: any, e: Entity): RequestHandler => {
interface Response {
}
return (req, res, next) => {
res.json({success: 'f'});
};
};
```