UNPKG

nuxt-openapi-docs-module

Version:

A module for Nuxt.js to generate pages from OpenAPI specifications

37 lines (36 loc) 960 B
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; }