Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 1.21 KB

README.md

File metadata and controls

65 lines (50 loc) · 1.21 KB

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).