json-schema-typescript-generator
Version:
Generate typescript types from json schemas
30 lines • 1.12 kB
JavaScript
;
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