UNPKG

json-schema-typescript-generator

Version:
26 lines 907 B
import { filtered } from '../util'; import { located } from './TypeGenerator'; import { typeGenerator } from './type-generator'; export 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 = located(elementSchema, locatedSchema); const elementContent = typeGenerator(elementLocatedSchema, gatheredInfo, inputInfo); lines.push(elementContent); }); const filteredLines = filtered(lines); if (filteredLines.length === 0) { return; } else if (filteredLines.length === 1) { return filteredLines[0]; } else { return '(' + filteredLines.join('\n| ') + ')'; } }; //# sourceMappingURL=any-of-generator.js.map