Skip to content

collintime/joi-to-openapi

 
 

Repository files navigation

joi-openapi

This is a fork of joi-to-openapi with some new options. In short, in this package I've added joi extensions as supported type.

Now the library support to outputs for converted joi: standard output and file.

examples

const Joi = require("joi");
const { convert } = require("joi-openapi");

let joi = Joi.extend((joi) => ({
  base: joi
    .string()
    .isoDate()
    .description("Date in ISO format"),
  name: "date_start",
  language: {},
  rules: [],
}));

console.log(convert(joi.date_start()));

will output

{
  "type": "string",
  "format": "date-time",
  "description": "Date in ISO format"
}

to write the output on a file

const Joi = require("joi");
const { convertToFile } = require("joi-openapi");

let joi = Joi.extend((joi) => ({
  base: joi
    .string()
    .isoDate()
    .description("Date in ISO format"),
  name: "date_start",
  language: {},
  rules: [],
}));

convertToFile(joi.date_start(), "./");

will output

{
  "type": "string",
  "format": "date-time",
  "description": "Date in ISO format"
}

in the date_start.json file (the file will be created by joi type plust json format).

About

Joi converter to openapi 3.0 standard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%