UNPKG

@redocly/openapi-core

Version:

See https://github.com/Redocly/redocly-cli

27 lines 997 B
import path from 'node:path'; import { isAbsoluteUrl } from '../ref-utils.js'; import { resolvePreset } from './config-resolvers.js'; import { mergeExtends } from './utils.js'; import { isTruthy } from '../utils/is-truthy.js'; export function bundleExtends({ node, ctx, plugins, }) { if (!node.extends) { return node; } const resolvedExtends = (node.extends || []) .map((presetItem) => { if (!isAbsoluteUrl(presetItem) && !path.extname(presetItem)) { return resolvePreset(presetItem, plugins); } const resolvedRef = ctx.resolve({ $ref: presetItem }); if (resolvedRef.location && resolvedRef.node !== undefined) { return resolvedRef.node; } return null; }) .filter(isTruthy); return mergeExtends([ ...resolvedExtends.map((nested) => bundleExtends({ node: nested, ctx, plugins })), { ...node, extends: undefined }, ]); } //# sourceMappingURL=bundle-extends.js.map