@mintlify/validation
Version:
Validates mint.json files
33 lines (32 loc) • 943 B
JavaScript
import { v4 as uuidv4 } from 'uuid';
export const buildRefUuidMap = (spec) => {
const refUuidMap = {};
if (!spec.components) {
return refUuidMap;
}
const componentsObjectKeys = [
'schemas',
'responses',
'parameters',
'examples',
'requestBodies',
'headers',
'securitySchemes',
'links', // TODO: add support for links
'callbacks', // TODO: add support for callbacks
'pathItems', // TODO: add support for pathItems
];
const components = spec.components;
componentsObjectKeys.forEach((key) => {
const section = components[key];
if (!section) {
return;
}
Object.entries(section).forEach(([itemName, _item]) => {
const id = uuidv4();
const refId = `#/components/${key}/${itemName}`;
refUuidMap[refId] = id;
});
});
return refUuidMap;
};