UNPKG

@mintlify/validation

Version:

Validates mint.json files

33 lines (32 loc) 943 B
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; };