From 260ed64b3bb9cfad21cd4b177511b1d77e6bd997 Mon Sep 17 00:00:00 2001 From: Jason Stirnaman Date: Thu, 15 Sep 2022 11:44:08 -0500 Subject: [PATCH] fix(api): Check all nodes for a description field (#4458) - Replace named nodes in decorator with the any key. - If the node description field is a string, replace URLs. --- .../plugins/decorators/replace-shortcodes.js | 75 ++----------------- 1 file changed, 5 insertions(+), 70 deletions(-) diff --git a/api-docs/openapi/plugins/decorators/replace-shortcodes.js b/api-docs/openapi/plugins/decorators/replace-shortcodes.js index 8d6100faa..17d95f1cb 100644 --- a/api-docs/openapi/plugins/decorators/replace-shortcodes.js +++ b/api-docs/openapi/plugins/decorators/replace-shortcodes.js @@ -14,78 +14,13 @@ function replaceDocsUrl(field) { /** @type {import('@redocly/openapi-cli').OasDecorator} */ function docsUrl() { return { - DefinitionRoot: { - Example: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - }, - }, - ExternalDocs: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - }, - }, - Header: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - }, - }, - Info: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - }, - }, - Operation: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - }, - }, - Parameter: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); + any: { + leave(node, ctx) { + if(node.description && typeof(node.description) === 'string') { + node.description = replaceDocsUrl(node.description); } }, - PathItem: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - RequestBody: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - Response: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - Schema: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - SecurityScheme: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - Server: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - Tag: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - }, - XCodeSample: { - leave(node, ctx) { - node.description = replaceDocsUrl(node.description); - } - } - } + }, } }