openapi-modifier
Version:
This package allows you to automate the process of modifying OpenAPI specifications by applying a set of predefined rules
42 lines (41 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseAnyComponentWithCorrectionDescriptor = exports.parseSimpleComponentWithCorrectionDescriptor = void 0;
const parse_simple_descriptor_1 = require("./parse-simple-descriptor");
const parseSimpleComponentWithCorrectionDescriptor = (componentDescriptor) => {
if (typeof componentDescriptor === 'string') {
const parsedSimpleDescriptor = (0, parse_simple_descriptor_1.parseSimpleDescriptor)(componentDescriptor, { isContainsName: true });
if (!parsedSimpleDescriptor) {
return null;
}
const { name, correction } = parsedSimpleDescriptor;
if (!name) {
return null;
}
return {
componentName: name,
correction: correction || undefined,
};
}
return null;
};
exports.parseSimpleComponentWithCorrectionDescriptor = parseSimpleComponentWithCorrectionDescriptor;
const parseAnyComponentWithCorrectionDescriptor = (componentDescriptor, logger) => {
if (typeof componentDescriptor === "object" && "componentName" in componentDescriptor) {
return componentDescriptor;
}
if (typeof componentDescriptor === 'string') {
const parsedComponentDescriptor = (0, exports.parseSimpleComponentWithCorrectionDescriptor)(componentDescriptor);
if (!parsedComponentDescriptor) {
logger.errorMessage(`
Failed to parse component descriptor: "${componentDescriptor}".
Use format: "{componentName}.{path}", for example: "TestDto.foo.bar[].test"
`);
return null;
}
return parsedComponentDescriptor;
}
logger.errorMessage(`Wrong component descriptor: ${JSON.stringify(componentDescriptor)}`);
return null;
};
exports.parseAnyComponentWithCorrectionDescriptor = parseAnyComponentWithCorrectionDescriptor;