json-schema-typescript-generator
Version:
Generate typescript types from json schemas
26 lines • 907 B
JavaScript
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