UNPKG

@redocly/openapi-core

Version:

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

118 lines 5.66 kB
import { assignOnlyExistingConfig, assignConfig, isPlainObject } from '../utils.js'; export function parsePresetName(presetName) { if (presetName.indexOf('/') > -1) { const [pluginId, configName] = presetName.split('/'); return { pluginId, configName }; } else { return { pluginId: '', configName: presetName }; } } export function prefixRules(rules, prefix) { if (!prefix) return rules; const res = {}; for (const name of Object.keys(rules)) { res[`${prefix}/${name}`] = rules[name]; } return res; } export function mergeExtends(rulesConfList) { const result = { rules: {}, oas2Rules: {}, oas3_0Rules: {}, oas3_1Rules: {}, async2Rules: {}, async3Rules: {}, arazzo1Rules: {}, overlay1Rules: {}, preprocessors: {}, oas2Preprocessors: {}, oas3_0Preprocessors: {}, oas3_1Preprocessors: {}, async2Preprocessors: {}, async3Preprocessors: {}, arazzo1Preprocessors: {}, overlay1Preprocessors: {}, decorators: {}, oas2Decorators: {}, oas3_0Decorators: {}, oas3_1Decorators: {}, async2Decorators: {}, async3Decorators: {}, arazzo1Decorators: {}, overlay1Decorators: {}, }; for (const rulesConf of rulesConfList) { if (isPlainObject(rulesConf) && 'extends' in rulesConf && rulesConf.extends !== undefined) { throw new Error(`'extends' is not supported in shared configs yet:\n${JSON.stringify(rulesConf, null, 2)}`); } assignConfig(result.rules, rulesConf.rules); assignConfig(result.oas2Rules, rulesConf.oas2Rules); assignOnlyExistingConfig(result.oas2Rules, rulesConf.rules); assignConfig(result.oas3_0Rules, rulesConf.oas3_0Rules); assignOnlyExistingConfig(result.oas3_0Rules, rulesConf.rules); assignConfig(result.oas3_1Rules, rulesConf.oas3_1Rules); assignOnlyExistingConfig(result.oas3_1Rules, rulesConf.rules); assignConfig(result.async2Rules, rulesConf.async2Rules); assignOnlyExistingConfig(result.async2Rules, rulesConf.rules); assignConfig(result.async3Rules, rulesConf.async3Rules); assignOnlyExistingConfig(result.async3Rules, rulesConf.rules); assignConfig(result.arazzo1Rules, rulesConf.arazzo1Rules); assignOnlyExistingConfig(result.arazzo1Rules, rulesConf.rules); assignConfig(result.overlay1Rules, rulesConf.overlay1Rules); assignOnlyExistingConfig(result.overlay1Rules, rulesConf.rules); assignConfig(result.preprocessors, rulesConf.preprocessors); assignConfig(result.oas2Preprocessors, rulesConf.oas2Preprocessors); assignOnlyExistingConfig(result.oas2Preprocessors, rulesConf.preprocessors); assignConfig(result.oas3_0Preprocessors, rulesConf.oas3_0Preprocessors); assignOnlyExistingConfig(result.oas3_0Preprocessors, rulesConf.preprocessors); assignConfig(result.oas3_1Preprocessors, rulesConf.oas3_1Preprocessors); assignOnlyExistingConfig(result.oas3_1Preprocessors, rulesConf.preprocessors); assignConfig(result.async2Preprocessors, rulesConf.async2Preprocessors); assignOnlyExistingConfig(result.async2Preprocessors, rulesConf.preprocessors); assignConfig(result.async3Preprocessors, rulesConf.async3Preprocessors); assignOnlyExistingConfig(result.async3Preprocessors, rulesConf.preprocessors); assignConfig(result.arazzo1Preprocessors, rulesConf.arazzo1Preprocessors); assignOnlyExistingConfig(result.arazzo1Preprocessors, rulesConf.preprocessors); assignConfig(result.overlay1Preprocessors, rulesConf.overlay1Preprocessors); assignOnlyExistingConfig(result.overlay1Preprocessors, rulesConf.preprocessors); assignConfig(result.decorators, rulesConf.decorators); assignConfig(result.oas2Decorators, rulesConf.oas2Decorators); assignOnlyExistingConfig(result.oas2Decorators, rulesConf.decorators); assignConfig(result.oas3_0Decorators, rulesConf.oas3_0Decorators); assignOnlyExistingConfig(result.oas3_0Decorators, rulesConf.decorators); assignConfig(result.oas3_1Decorators, rulesConf.oas3_1Decorators); assignOnlyExistingConfig(result.oas3_1Decorators, rulesConf.decorators); assignConfig(result.async2Decorators, rulesConf.async2Decorators); assignOnlyExistingConfig(result.async2Decorators, rulesConf.decorators); assignConfig(result.async3Decorators, rulesConf.async3Decorators); assignOnlyExistingConfig(result.async3Decorators, rulesConf.decorators); assignConfig(result.arazzo1Decorators, rulesConf.arazzo1Decorators); assignOnlyExistingConfig(result.arazzo1Decorators, rulesConf.decorators); assignConfig(result.overlay1Decorators, rulesConf.overlay1Decorators); assignOnlyExistingConfig(result.overlay1Decorators, rulesConf.decorators); } return result; } export function getResolveConfig(resolve) { return { http: { headers: resolve?.http?.headers ?? [], customFetch: undefined, }, }; } export class ConfigValidationError extends Error { } export function deepCloneMapWithJSON(originalMap) { return new Map(JSON.parse(JSON.stringify([...originalMap]))); } export function isDeprecatedPluginFormat(plugin) { return plugin !== undefined && typeof plugin === 'object' && 'id' in plugin; } export function isCommonJsPlugin(plugin) { return typeof plugin === 'function'; } //# sourceMappingURL=utils.js.map