Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

joi-md-doc

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

joi-md-doc

Generate markdown documentation files from [@hapi/joi](https://github.com/hapijs/joi) schemas.

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

joi-md-doc

Generate markdown documentation files from @hapi/joi schemas.

Installation

npm i --save-dev joi-md-doc

Usage

const joi = require('@hapi/joi');
const { makeMarkdownDoc } = require('joi-md-doc');

const schema = joi
  .object()
  .keys({
    version: joi
      .number()
      .meta({ default: '1.0.0' })
      .description('Follows semantic versioning.'),
    any: joi.any(),
    primitiveList: joi
      .array()
      .items(joi.string(), joi.number(), joi.boolean())
      .min(1)
      .max(3),
  })
  .meta({ name: 'My Schema', filename: 'mySchema' });

makeMarkdownDoc(schema);

API

makeMarkdownDoc(joiSchema[, options])

JoiSchema → undefined

Traverses a root joi object schema and generates a markdown documentation file of every nested object schema in the tree.

makeMarkdownByFilename(joiSchema)

JoiSchema → {String: String}

Meta Tags

filename

string | required

The filename of each generated markdown file. Required for each joi object schema.

const schema = joi.object().keys({
  foo: joi.string(),
}).meta({ filename: 'exampleSchema' });
name

string | optional | defaults to value of filename

The name/title of the markdown file.

const schema = joi.object().keys({
  foo: joi.string(),
}).meta({ name: 'Example Schema', filename: 'exampleSchema' });
default

* | optional

The default value.

const schema = joi.object().keys({
  version: joi.number().meta({ default: '1.0.0' }),
}).meta({ filename: 'exampleSchema '});
isDocumented

boolean | optional | defaults to true

Flag that determines whether or not a key is documented.

const schema = joi.object().keys({
  includedInDoc: joi.boolean(),
  excludedFromDoc: joi.boolean().meta({ isDocumented: false }),
}).meta({ filename: 'exampleSchema' });

Example

Check out the example joi schema and generated markdown for currently supported joi validations.

FAQs

Package last updated on 10 Dec 2019

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc