UNPKG

json-schema-typescript-generator

Version:
30 lines 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.anyOfGenerator = void 0; const util_1 = require("../util"); const TypeGenerator_1 = require("./TypeGenerator"); const type_generator_1 = require("./type-generator"); const anyOfGenerator = (locatedSchema, gatheredInfo, inputInfo) => { const schema = locatedSchema.schema; if (!schema.anyOf || schema.anyOf.length === 0) { return; } const lines = []; schema.anyOf.forEach((elementSchema) => { const elementLocatedSchema = (0, TypeGenerator_1.located)(elementSchema, locatedSchema); const elementContent = (0, type_generator_1.typeGenerator)(elementLocatedSchema, gatheredInfo, inputInfo); lines.push(elementContent); }); const filteredLines = (0, util_1.filtered)(lines); if (filteredLines.length === 0) { return; } else if (filteredLines.length === 1) { return filteredLines[0]; } else { return '(' + filteredLines.join('\n| ') + ')'; } }; exports.anyOfGenerator = anyOfGenerator; //# sourceMappingURL=any-of-generator.js.map