nuxt-openapi-docs-module
Version:
A module for Nuxt.js to generate pages from OpenAPI specifications
37 lines (36 loc) • 960 B
JavaScript
const schemaKeywordTypes = {
multipleOf: "number",
maximum: "number",
exclusiveMaximum: "number",
minimum: "number",
exclusiveMinimum: "number",
maxLength: "string",
minLength: "string",
pattern: "string",
items: "array",
maxItems: "array",
minItems: "array",
uniqueItems: "array",
additionalItems: "array",
maxProperties: "object",
minProperties: "object",
required: "object",
additionalProperties: "object",
properties: "object",
patternProperties: "object",
dependencies: "object"
};
export function inferType(schema) {
if (schema.type !== void 0) {
return Array.isArray(schema.type) ? schema.type.length === 0 ? null : schema.type[0] : schema.type;
}
const keywords = Object.keys(schemaKeywordTypes);
for (var i = 0; i < keywords.length; i++) {
let keyword = keywords[i];
let type = schemaKeywordTypes[keyword];
if (schema[keyword] !== void 0) {
return type;
}
}
return null;
}