@infinite-debugger/swagger-to-ts
Version:
swagger-to-ts is a powerful library that allows you to generate TypeScript code from Swagger documentation or OpenAPI specifications. It simplifies the process of integrating API definitions into your TypeScript projects, saving you time and effort.
52 lines • 3.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateNumberSchemaCode = void 0;
const models_1 = require("../../models");
const Utils_1 = require("../Utils");
/**
* Generates number schema code for a given schema
*
* @param options The options to generate number schema code
* @returns The generated number schema code
*/
const generateNumberSchemaCode = ({ schema, generateTsEDControllers, imports }) => {
const decorators = [];
const min = schema.min ?? schema.minimum;
const max = schema.max ?? schema.maximum;
if (min != null) {
decorators.push(`@Min(${min})`);
if (generateTsEDControllers) {
(0, Utils_1.addModuleImport)({
imports,
importName: 'Min',
importFilePath: models_1.TSED_SCHEMA_LIBRARY_PATH,
});
}
}
if (max != null) {
decorators.push(`@Max(${max})`);
if (generateTsEDControllers) {
(0, Utils_1.addModuleImport)({
imports,
importName: 'Max',
importFilePath: models_1.TSED_SCHEMA_LIBRARY_PATH,
});
}
}
return {
decorators,
propertyType: `number`,
zodCodeString: (() => {
let validationCode = `z.number()`;
if (min != null) {
validationCode += `.min(${min})`;
}
if (max != null) {
validationCode += `.max(${max})`;
}
return validationCode;
})(),
};
};
exports.generateNumberSchemaCode = generateNumberSchemaCode;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnVtYmVyU2NoZW1hQ29kZUdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvTW9kZWxDb2RlR2VuZXJhdG9yL051bWJlclNjaGVtYUNvZGVHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdEO0FBRXhELG9DQUEyQztBQUczQzs7Ozs7R0FLRztBQUNJLE1BQU0sd0JBQXdCLEdBRWpDLENBQUMsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUNuRCxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7SUFDaEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUV6QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDZixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLHVCQUF1QixFQUFFO1lBQzNCLElBQUEsdUJBQWUsRUFBQztnQkFDZCxPQUFPO2dCQUNQLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixjQUFjLEVBQUUsaUNBQXdCO2FBQ3pDLENBQUMsQ0FBQztTQUNKO0tBQ0Y7SUFFRCxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDZixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLHVCQUF1QixFQUFFO1lBQzNCLElBQUEsdUJBQWUsRUFBQztnQkFDZCxPQUFPO2dCQUNQLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixjQUFjLEVBQUUsaUNBQXdCO2FBQ3pDLENBQUMsQ0FBQztTQUNKO0tBQ0Y7SUFFRCxPQUFPO1FBQ0wsVUFBVTtRQUNWLFlBQVksRUFBRSxRQUFRO1FBQ3RCLGFBQWEsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLGNBQWMsR0FBRyxZQUFZLENBQUM7WUFDbEMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO2dCQUNmLGNBQWMsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDO2FBQ2xDO1lBQ0QsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO2dCQUNmLGNBQWMsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDO2FBQ2xDO1lBQ0QsT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQyxDQUFDLEVBQUU7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBM0NXLFFBQUEsd0JBQXdCLDRCQTJDbkMifQ==