json-schema-typescript-generator
Version:
Generate typescript types from json schemas
32 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.typeGenerator = void 0;
const util_1 = require("../util");
const all_of_generator_1 = require("./all-of-generator");
const any_of_generator_1 = require("./any-of-generator");
const basic_type_generator_1 = require("./basic-type-generator");
const collection_generator_1 = require("./collection-generator");
const constant_generator_1 = require("./constant-generator");
const enum_generator_1 = require("./enum-generator");
const object_generator_1 = require("./object-generator");
const one_of_generator_1 = require("./one-of-generator");
const reference_generator_1 = require("./reference-generator");
const typeGenerator = (locatedSchema, gatheredInfo, inputInfo) => {
const types = [];
types.push((0, constant_generator_1.constantGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, reference_generator_1.referenceGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, enum_generator_1.enumGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, basic_type_generator_1.basicTypeGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, object_generator_1.objectGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, collection_generator_1.collectionGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, all_of_generator_1.allOfGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, any_of_generator_1.anyOfGenerator)(locatedSchema, gatheredInfo, inputInfo));
types.push((0, one_of_generator_1.oneOfGenerator)(locatedSchema, gatheredInfo, inputInfo));
const filteredLines = (0, util_1.filtered)(types);
if (filteredLines.length === 0) {
return inputInfo.options.ts.untyped;
}
return filteredLines.join('\n& ');
};
exports.typeGenerator = typeGenerator;
//# sourceMappingURL=type-generator.js.map