@redocly/openapi-docs 0.0.0-beta-20240221133732 → 0.0.0-beta-20240223133421
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/redocly-openapi-docs.min.js +351 -314
- package/lib/components/Callbacks/CallbackSummary.js +1 -1
- package/lib/components/Download/useDownloadInfo.js +1 -1
- package/lib/components/RequestParameters/Body.d.ts +1 -1
- package/lib/components/RequestParameters/Body.js +1 -1
- package/lib/components/RequestParameters/ParametersGroup.d.ts +2 -2
- package/lib/components/RequestParameters/ParametersGroup.js +1 -1
- package/lib/components/RequestParameters/RequestParameters.js +1 -1
- package/lib/components/Responses/ResponseDetails.js +1 -1
- package/lib/components/Responses/ResponseHeaders.js +1 -1
- package/lib/components/Responses/styled.js +1 -0
- package/lib/components/Responses/types.d.ts +1 -0
- package/lib/components/Samples/ExampleSwitch.js +1 -1
- package/lib/components/Security/OAuthFlow.js +1 -1
- package/lib/components/ServerList/ServerList.js +4 -1
- package/lib/components/SideMenu/hooks/useMenuItems.js +1 -1
- package/lib/components/common/BodyContent/BodyContent.d.ts +1 -1
- package/lib/components/common/BodyContent/BodyContent.js +1 -1
- package/lib/components/common/LinkToField.js +1 -1
- package/lib/components/pluggable/RedocRequestBody.js +1 -1
- package/lib/models/group.js +1 -1
- package/lib/services/history/helpers.js +1 -1
- package/lib/services/menu/markdown.js +1 -1
- package/lib/services/menu/operation.js +1 -1
- package/lib/services/search/SearchStore.js +86 -53
- package/lib/utils/helpers.js +1 -1
- package/lib/utils/openapi.js +1 -1
- package/lib-esm/components/Callbacks/CallbackSummary.js +1 -1
- package/lib-esm/components/Download/useDownloadInfo.js +1 -1
- package/lib-esm/components/RequestParameters/Body.d.ts +1 -1
- package/lib-esm/components/RequestParameters/Body.js +1 -1
- package/lib-esm/components/RequestParameters/ParametersGroup.d.ts +2 -2
- package/lib-esm/components/RequestParameters/ParametersGroup.js +1 -1
- package/lib-esm/components/RequestParameters/RequestParameters.js +1 -1
- package/lib-esm/components/Responses/ResponseDetails.js +1 -1
- package/lib-esm/components/Responses/ResponseHeaders.js +1 -1
- package/lib-esm/components/Responses/styled.js +1 -0
- package/lib-esm/components/Responses/types.d.ts +1 -0
- package/lib-esm/components/Samples/ExampleSwitch.js +1 -1
- package/lib-esm/components/Security/OAuthFlow.js +1 -1
- package/lib-esm/components/ServerList/ServerList.js +4 -1
- package/lib-esm/components/SideMenu/hooks/useMenuItems.js +1 -1
- package/lib-esm/components/common/BodyContent/BodyContent.d.ts +1 -1
- package/lib-esm/components/common/BodyContent/BodyContent.js +1 -1
- package/lib-esm/components/common/LinkToField.js +1 -1
- package/lib-esm/components/pluggable/RedocRequestBody.js +1 -1
- package/lib-esm/models/group.js +1 -1
- package/lib-esm/services/history/helpers.js +1 -1
- package/lib-esm/services/menu/markdown.js +1 -1
- package/lib-esm/services/menu/operation.js +1 -1
- package/lib-esm/services/search/SearchStore.js +86 -53
- package/lib-esm/utils/helpers.js +1 -1
- package/lib-esm/utils/openapi.js +1 -1
- package/package.json +4 -4
package/lib/utils/helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isLastProperty=exports.isLastInArray=exports.getValueFromMdParsedExtension=exports.normalizeText=exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.useSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryStringAndHash=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const url_1=require("url"),theme_1=require("@redocly/theme"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer");function mapWithLast(e,t){const r=[];for(let s=0;s<e.length-1;s++)r.push(t(e[s],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}function mapValues(e,t){const r={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=t(e[s],s,e));return r}function flattenByProp(e,t){const r=[],s=e=>{for(const n of e)r.push(n),n[t]&&s(n[t])};return s(e),r}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,t,r){const s=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),n=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(s.test(e))return e.replace(n,`$1\n\n${r}\n$4`);{const s=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${s}# ${t}\n\n${r}`}}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,theme_1.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,theme_1.isObject)(e)&&!Array.isArray(e);function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:s}=(0,url_1.parse)(e);r=`${s||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const s=(0,url_1.parse)(e);r=(0,url_1.format)(Object.assign(Object.assign({},s),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&/g,"&").replace(/"/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_")}function useSchemaTitle(e,t){return t||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.JsonPointer.baseName(e)||""}function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}function getWindowReferenceOptions(e){var t;return theme_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!theme_1.IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.isMergeableObject=isMergeableObject,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryStringAndHash=removeQueryStringAndHash,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.useSchemaTitle=useSchemaTitle,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;const normalizeText=e=>(0,theme_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let s={};for(const e in r)e.startsWith("x-parsed-md")||(s[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(s).length?s:r};function isLastInArray(e,t){return t===e.length-1}function isLastProperty(e,t){const r=Object.keys(e);return r.indexOf(t)===r.length-1}exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension,exports.isLastInArray=isLastInArray,exports.isLastProperty=isLastProperty;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isLastProperty=exports.isLastInArray=exports.getValueFromMdParsedExtension=exports.normalizeText=exports.getJsUrl=exports.getWindowReferenceOptions=exports.dottedString=exports.joinStringFactory=exports.get=exports.useSchemaTitle=exports.sanitizeItemId=exports.unescapeHTMLChars=exports.escapeHTMLAttrChars=exports.removeQueryStringAndHash=exports.titleize=exports.getBasePath=exports.resolveUrl=exports.isAbsoluteUrl=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const url_1=require("url"),theme_1=require("@redocly/theme"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer");function mapWithLast(e,t){const r=[];for(let s=0;s<e.length-1;s++)r.push(t(e[s],!1));return 0!==e.length&&r.push(t(e[e.length-1],!0)),r}function mapValues(e,t){const r={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=t(e[s],s,e));return r}function flattenByProp(e,t){const r=[],s=e=>{for(const n of e)r.push(n),n[t]&&s(n[t])};return s(e),r}function stripTrailingSlash(e){return e.endsWith("/")?e.substring(0,e.length-1):e}function isNumeric(e){return!isNaN(parseFloat(e))&&isFinite(e)}function appendToMdHeading(e,t,r){const s=new RegExp(`(^|\\n)#\\s?${t}\\s*\\n`,"i"),n=new RegExp(`((\\n|^)#\\s*${t}\\s*(\\n|$)(?:.|\\n)*?)(\\n#|$)`,"i");if(s.test(e))return e.replace(n,`$1\n\n${r}\n$4`);{const s=""===e||e.endsWith("\n\n")?"":e.endsWith("\n")?"\n":"\n\n";return`${e}${s}# ${t}\n\n${r}`}}exports.mapWithLast=mapWithLast,exports.mapValues=mapValues,exports.flattenByProp=flattenByProp,exports.stripTrailingSlash=stripTrailingSlash,exports.isNumeric=isNumeric,exports.appendToMdHeading=appendToMdHeading;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,theme_1.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,theme_1.isObject)(e)&&!Array.isArray(e);function isAbsoluteUrl(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}function resolveUrl(e,t){let r;if(t.startsWith("//")){const{protocol:s}=(0,url_1.parse)(e);r=`${s||"https:"}${t}`}else if(isAbsoluteUrl(t))r=t;else if(t.startsWith("/")){const s=(0,url_1.parse)(e);r=(0,url_1.format)(Object.assign(Object.assign({},s),{pathname:t}))}else r=stripTrailingSlash(e)+"/"+t;return stripTrailingSlash(r)}function getBasePath(e){try{return parseURL(e).pathname}catch(t){return e}}function titleize(e){return e.charAt(0).toUpperCase()+e.slice(1)}function removeQueryStringAndHash(e){try{const t=parseURL(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}function parseURL(e){return"undefined"==typeof URL?new(require("url").URL)(e):new URL(e)}function escapeHTMLAttrChars(e){return e.replace(/["\\]/g,"\\$&")}function unescapeHTMLChars(e){return e.replace(/&#(\d+);/g,((e,t)=>String.fromCharCode(parseInt(t,10)))).replace(/&/g,"&").replace(/"/g,'"')}function sanitizeItemId(e){return e&&e.replace(/#/g,"_").toLowerCase()}function useSchemaTitle(e,t){return t||(0,openapi_1.isNamedDefinition)(e)&&JsonPointer_1.JsonPointer.baseName(e)||""}function get(e={},t,r){return"string"==typeof t&&(t=t.split(".")),t.reduce(((e,t)=>e&&e[t]?e[t]:r),e)}function joinStringFactory(e){return(...t)=>t.filter(Boolean).join(e)}function getWindowReferenceOptions(e){var t;return theme_1.IS_BROWSER?null===(t=null===window||void 0===window?void 0:window.REFERENCE_DOCS_OPTIONS)||void 0===t?void 0:t[e]:null}function getJsUrl(){var e;if(!theme_1.IS_BROWSER)return"";const t=+new Date+Math.random();try{return document.currentScript&&(document.currentScript.async||document.currentScript.defer)||document.write(`<script id="dummy${t}"><\/script>`),(null===(e=document.getElementById("dummy"+t))||void 0===e?void 0:e.previousSibling).src}catch(e){return""}}exports.isMergeableObject=isMergeableObject,exports.isAbsoluteUrl=isAbsoluteUrl,exports.resolveUrl=resolveUrl,exports.getBasePath=getBasePath,exports.titleize=titleize,exports.removeQueryStringAndHash=removeQueryStringAndHash,exports.escapeHTMLAttrChars=escapeHTMLAttrChars,exports.unescapeHTMLChars=unescapeHTMLChars,exports.sanitizeItemId=sanitizeItemId,exports.useSchemaTitle=useSchemaTitle,exports.get=get,exports.joinStringFactory=joinStringFactory,exports.dottedString=joinStringFactory("."),exports.getWindowReferenceOptions=getWindowReferenceOptions,exports.getJsUrl=getJsUrl;const normalizeText=e=>(0,theme_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>{const r=e[`x-parsed-md-${t}`]||e[t];if("x-enumDescriptions"!==t)return r;let s={};for(const e in r)e.startsWith("x-parsed-md")||(s[e]=r[`x-parsed-md-${e}`]||r[e]);return Object.keys(s).length?s:r};function isLastInArray(e,t){return t===e.length-1}function isLastProperty(e,t){const r=Object.keys(e);return r.indexOf(t)===r.length-1}exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension,exports.isLastInArray=isLastInArray,exports.isLastProperty=isLastProperty;
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
package/lib/utils/openapi.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeLanguages=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),theme_1=require("@redocly/theme"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer"),services_1=require("../services");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName(e){const{operationId:r,pathName:t}=e,i=(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"description"));return(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}function getOperationId(e,r){var t;return(null==r?void 0:r.id)?(0,services_1.joinWithSeparator)(r.id,(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer))):(null===(t=e.tags)||void 0===t?void 0:t.length)?(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer)):(0,helpers_1.sanitizeItemId)(e.operationId?(0,services_1.joinWithSeparator)(constants_1.DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return url_template_1.default.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:o=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,o,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let o="";"label"===r?o=".":"matrix"===r&&(o=";");const a="__redoc_param_name__";return url_template_1.default.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.deleteEmptyArrayItem)(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint(1===e.minProperties&&1===e.maxProperties?"property":"properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!theme_1.IS_BROWSER)return globalThis.SSR_HOSTNAME||"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}function normalizeLanguages(e,r){const t=[];if(e)for(const r in e){const i=e[r];for(const e in i){const r=i[e];if(r["x-codeSamples"]){const e=r["x-codeSamples"];for(const r of e){const e=r.lang;t.find((r=>r.key===e+"_"))||t.push({key:e+"_",title:e})}}}}return r&&r.languages.forEach((({lang:e})=>{t.find((r=>r.key===e+"_"))||t.push({key:e+"_",title:e})})),t}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers,exports.normalizeLanguages=normalizeLanguages;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0}||e.startsWith("x-parsed-md-")}function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getContentWithLegacyExamples=exports.pluralizeType=exports.extractExtensions=exports.isRedocExtension=exports.shortenHTTPVerb=exports.normalizeLanguages=exports.normalizeServers=exports.expandDefaultServerVariables=exports.mergeSimilarMediaTypes=exports.mergeParams=exports.sortByField=exports.sortByRequired=exports.humanizeConstraints=exports.humanizeNumberRange=exports.getDefinitionName=exports.isNamedDefinition=exports.langFromMime=exports.serializeParameterValue=exports.serializeParameterValueWithMime=exports.serializeQueryParameter=exports.urlFormEncodePayload=exports.isFormUrlEncoded=exports.isJsonLike=exports.isPrimitiveType=exports.detectType=exports.getOperationId=exports.getOperationName=exports.isOperationName=exports.getStatusCodeType=exports.isStatusCode=void 0;const path_1=require("path"),url_template_1=__importDefault(require("url-template")),theme_1=require("@redocly/theme"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer"),services_1=require("../services");function isWildcardStatusCode(e){return"string"==typeof e&&/\dxx/i.test(e)}function isStatusCode(e){return"default"===e||(0,helpers_1.isNumeric)(e)||isWildcardStatusCode(e)}function getStatusCodeType(e,r=!1){if("default"===e)return r?"error":"success";let t="string"==typeof e?parseInt(e,10):e;if(isWildcardStatusCode(e)&&(t*=100),t<100||t>599)throw new Error("invalid HTTP code");let i="success";return t>=300&&t<400?i="redirect":t>=400?i="error":t<200&&(i="info"),i}exports.isStatusCode=isStatusCode,exports.getStatusCodeType=getStatusCodeType;const operationNames={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function isOperationName(e){return e in operationNames}function getOperationName(e){const{operationId:r,pathName:t}=e,i=(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"description"));return(0,helpers_1.normalizeText)((0,helpers_1.getValueFromMdParsedExtension)(e,"summary"))||r||i&&i.substring(0,50)||t||"<no summary>"}function getOperationId(e,r){var t;return(null==r?void 0:r.id)?(0,services_1.joinWithSeparator)(r.id,(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer))).toLowerCase():(null===(t=e.tags)||void 0===t?void 0:t.length)?(0,helpers_1.sanitizeItemId)(e.operationId?e.operationId:pointerToId(e.pointer)):(0,helpers_1.sanitizeItemId)(e.operationId?(0,services_1.joinWithSeparator)(constants_1.DEFAULT_TAG_SLUG,e.operationId):pointerToId(e.pointer))}function pointerToId(e){return(null==e?void 0:e.startsWith("/"))?e.slice(1,e.length):e}exports.isOperationName=isOperationName,exports.getOperationName=getOperationName,exports.getOperationId=getOperationId;const schemaKeywordTypes={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",patternProperties:"object",properties:"object"};function detectType(e){if(void 0!==e.type&&!Array.isArray(e.type))return e.type;const r=Object.keys(schemaKeywordTypes);for(const t of r){const r=schemaKeywordTypes[t];if(void 0!==e[t])return r}return"any"}function isPrimitiveType(e,r=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let t=!0;const i=Array.isArray(r);return("object"===r||i&&(null==r?void 0:r.includes("object")))&&(t=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!Array.isArray(e.items)&&!Array.isArray(e.prefixItems)&&(void 0!==e.items&&"boolean"!=typeof e.items&&("array"===r||i&&(null==r?void 0:r.includes("array")))&&(t=isPrimitiveType(e.items,e.items.type)),t)}function isJsonLike(e){return-1!==e.search(/json/i)}function isFormUrlEncoded(e){return e===constants_1.MediaTypes.URL_ENCODED}function delimitedEncodeField(e,r,t){return Array.isArray(e)?e.map((e=>e.toString())).join(t):"object"==typeof e?Object.keys(e).map((r=>`${r}${t}${e[r]}`)).join(t):r+"="+e.toString()}function deepObjectEncodeField(e,r){return Array.isArray(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map((t=>e[t]?`${r}[${t}]=${e[t]}`:void 0)).filter(Boolean).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function serializeFormValue(e,r,t){const i="__redoc_param_name__",n=r?"*":"";return url_template_1.default.parse(`{?${i}${n}}`).expand({[i]:t}).substring(1).replace(/__redoc_param_name__/g,e)}function serializeSimpleValue(e,r){const t=e?"*":"",i="__redoc_param_name__",n=url_template_1.default.parse(`{${i}${t}}`);return decodeURIComponent(n.expand({[i]:r}))}function urlFormEncodePayload(e,r={}){if(Array.isArray(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map((t=>{const i=e[t],{style:n="form",explode:o=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,o,i);case"spaceDelimited":return delimitedEncodeField(i,t,"%20");case"pipeDelimited":return delimitedEncodeField(i,t,"|");case"deepObject":return deepObjectEncodeField(i,t);default:return console.warn("Incorrect or unsupported encoding style: "+n),""}})).join("&")}function serializePathParameter(e,r,t,i){const n=t?"*":"";let o="";"label"===r?o=".":"matrix"===r&&(o=";");const a="__redoc_param_name__";return url_template_1.default.parse(`{${o}${a}${n}}`).expand({[a]:i}).replace(/__redoc_param_name__/g,e)}function serializeQueryParameter(e,r,t,i){const n=n=>{switch(r){case"form":return serializeFormValue(e,t,n);case"spaceDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return Array.isArray(n)?t?serializeFormValue(e,t,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!t||Array.isArray(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):deepObjectEncodeField(n,e);case"simple":return serializeSimpleValue(t,i);default:return console.warn("Unexpected style for query: "+r),""}};return(0,helpers_1.isArrayOfObjects)(i)&&(i=(0,helpers_1.deleteEmptyArrayItem)(i).map((e=>n(e)))),n(i)}function serializeHeaderParameter(e,r,t){return"simple"===e?serializeSimpleValue(r,t):(console.warn("Unexpected style for header: "+e),"")}function serializeCookieParameter(e,r,t,i){return"form"===r?serializeFormValue(e,t,i):(console.warn("Unexpected style for cookie: "+r),"")}function serializeParameterValueWithMime(e,r){return isJsonLike(r)?JSON.stringify(e):(console.warn(`Parameter serialization as ${r} is not supported`),"")}function serializeParameterValue(e,r){const{name:t,style:i,explode:n=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,o);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!i)return console.warn(`Missing style attribute or content for parameter ${t}`),"";switch(e.in){case"path":return serializePathParameter(t,i,n,r);case"query":return serializeQueryParameter(t,i,n,r);case"header":return serializeHeaderParameter(i,n,r);case"cookie":return serializeCookieParameter(t,i,n,r);default:return console.warn("Unexpected parameter location: "+e.in),""}}function langFromMime(e){return-1!==e.search(/xml/i)?"xml":"clike"}exports.detectType=detectType,exports.isPrimitiveType=isPrimitiveType,exports.isJsonLike=isJsonLike,exports.isFormUrlEncoded=isFormUrlEncoded,exports.urlFormEncodePayload=urlFormEncodePayload,exports.serializeQueryParameter=serializeQueryParameter,exports.serializeParameterValueWithMime=serializeParameterValueWithMime,exports.serializeParameterValue=serializeParameterValue,exports.langFromMime=langFromMime;const DEFINITION_NAME_REGEX=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function isNamedDefinition(e){return DEFINITION_NAME_REGEX.test(e||"")}function getDefinitionName(e){var r;return null===(r=null==e?void 0:e.match(DEFINITION_NAME_REGEX))||void 0===r?void 0:r.pop()}function humanizeMultipleOfConstraint(e){if(void 0===e)return;const r=e.toString(10);return/^0\.0*1$/.test(r)?`decimal places <= ${r.split(".")[1].length}`:`multiple of ${r}`}function humanizeRangeConstraint(e,r,t){let i;return void 0!==r&&void 0!==t?i=r===t?`= ${r} ${e}`:`[ ${r} .. ${t} ] ${e}`:void 0!==t?i=`<= ${t} ${e}`:void 0!==r&&(i=1===r?"non-empty":`>= ${r} ${e}`),i}function humanizeNumberRange(e){var r,t;const i="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!==(r=e.minimum)&&void 0!==r?r:1/0):e.minimum,n="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!==(t=e.maximum)&&void 0!==t?t:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,a="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${o?"( ":"[ "}${i} .. ${n}${a?" )":" ]"}`:void 0!==n?`${a?"< ":"<= "}${n}`:void 0!==i?`${o?"> ":">= "}${i}`:void 0}function humanizeConstraints(e){const r=[],t=humanizeRangeConstraint("characters",e.minLength,e.maxLength);void 0!==t&&r.push(t);const i=humanizeRangeConstraint("items",e.minItems,e.maxItems);void 0!==i&&r.push(i);const n=humanizeRangeConstraint(1===e.minProperties&&1===e.maxProperties?"property":"properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const o=humanizeMultipleOfConstraint(e.multipleOf);void 0!==o&&r.push(o);const a=humanizeNumberRange(e);return void 0!==a&&r.push(a),e.uniqueItems&&r.push("unique"),r}function sortByRequired(e,r=[]){const t=[],i=[],n=[];return e.forEach((e=>{e.required?r.includes(e.name)?i.push(e):n.push(e):t.push(e)})),i.sort(((e,t)=>r.indexOf(e.name)-r.indexOf(t.name))),[...i,...n,...t]}function sortByField(e,r){return[...e].sort(((e,t)=>e[r].localeCompare(t[r])))}function mergeParams(e,r=[],t=[],{pathPointer:i,operationPointer:n}){const o={};t.forEach((r=>{({resolved:r}=e.deref(r)),o[r.name+"_"+r.in]=!0}));return[...r.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(i,["parameters",String(r)])}))).filter((({paramOrRef:r})=>(({resolved:r}=e.deref(r)),!o[r.name+"_"+r.in]))),...t.map(((e,r)=>({paramOrRef:e,pointer:JsonPointer_1.JsonPointer.join(n,["parameters",String(r)])})))]}function mergeSimilarMediaTypes(e){const r={};return Object.keys(e).forEach((t=>{const i=e[t],n=t.split(";")[0].trim();r[n]?r[n]=Object.assign(Object.assign({},r[n]),i):r[n]=i})),r}function expandDefaultServerVariables(e,r={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,((e,t)=>r[t]&&r[t].default||e))}function normalizeServers(e,r){const t=void 0===e?(0,helpers_1.removeQueryStringAndHash)((()=>{if(!theme_1.IS_BROWSER)return globalThis.SSR_HOSTNAME||"";const e=window.location.href;return e.endsWith(".html")?(0,path_1.dirname)(e):e})()):(0,path_1.dirname)(e);return 0===r.length&&(r=[{url:"/"}]),r.map((e=>{return Object.assign(Object.assign({},e),{url:(r=e.url,(0,helpers_1.resolveUrl)(t,r)),description:e.description||""});var r}))}function normalizeLanguages(e,r){const t=[];if(e)for(const r in e){const i=e[r];for(const e in i){const r=i[e];if(r["x-codeSamples"]){const e=r["x-codeSamples"];for(const r of e){const e=r.lang;t.find((r=>r.key===e+"_"))||t.push({key:e+"_",title:e})}}}}return r&&r.languages.forEach((({lang:e})=>{t.find((r=>r.key===e+"_"))||t.push({key:e+"_",title:e})})),t}exports.isNamedDefinition=isNamedDefinition,exports.getDefinitionName=getDefinitionName,exports.humanizeNumberRange=humanizeNumberRange,exports.humanizeConstraints=humanizeConstraints,exports.sortByRequired=sortByRequired,exports.sortByField=sortByField,exports.mergeParams=mergeParams,exports.mergeSimilarMediaTypes=mergeSimilarMediaTypes,exports.expandDefaultServerVariables=expandDefaultServerVariables,exports.normalizeServers=normalizeServers,exports.normalizeLanguages=normalizeLanguages;const shortenHTTPVerb=e=>({delete:"del",options:"opts"}[e]||e);function isRedocExtension(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-ignoredHeaderParameters":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0,"x-enumDescriptions":!0,"x-tokenEndpointAuthMethod":!0,"x-feedback":!0}||e.startsWith("x-parsed-md-")}function extractExtensions(e,r){return Object.keys(e).filter((e=>!0===r?e.startsWith("x-")&&!isRedocExtension(e):e.startsWith("x-")&&r.indexOf(e)>-1)).reduce(((r,t)=>(r[t]=e[t],r)),{})}function pluralizeType(e){return e.split(" or ").map((e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2"))).join(" or ")}function getContentWithLegacyExamples(e){let r=e.content;const t=e["x-examples"],i=e["x-example"];if(t){r=Object.assign({},r);for(const e of Object.keys(t)){const i=t[e];r[e]=Object.assign(Object.assign({},r[e]),{examples:i})}}else if(i){r=Object.assign({},r);for(const e of Object.keys(i)){const t=i[e];r[e]=Object.assign(Object.assign({},r[e]),{example:t})}}return r}exports.shortenHTTPVerb=shortenHTTPVerb,exports.isRedocExtension=isRedocExtension,exports.extractExtensions=extractExtensions,exports.pluralizeType=pluralizeType,exports.getContentWithLegacyExamples=getContentWithLegacyExamples;
|
|
2
2
|
//# sourceMappingURL=openapi.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from"react";import{PanelHeader,Badge}from"@redocly/theme";import styled from"styled-components";import{Trigger}from"../Panel";import{HttpVerb}from"../shared";import{
|
|
1
|
+
import React from"react";import{PanelHeader,Badge}from"@redocly/theme";import styled from"styled-components";import{Trigger}from"../Panel";import{HttpVerb}from"../shared";import{makeDeepLink}from"../../services";import{shortenHTTPVerb}from"../../utils";import{CallbackTitle}from"./styled";import{CircleIcon}from"../PropertyDetails/PlusCircleIcon";import{LinkToField}from"../common/LinkToField";export function CallbackSummary({expanded:e=!1,toggle:r,operation:{name:a,httpVerb:t,deprecated:n,callbackId:l,id:o}}){return React.createElement(CallbackHeader,{expanded:e,onClick:r},React.createElement(LinkToField,{to:makeDeepLink(o,`callbacks&c=${l}`)}),React.createElement(Trigger,null,React.createElement(CircleIconWrap,null,React.createElement(CircleIcon,{sign:e?"-":"+"})),React.createElement(CallbackTitle,{deprecated:n},a),React.createElement(HttpVerb,{color:t},shortenHTTPVerb(t)),n?React.createElement(Badge,{deprecated:!0},"Deprecated"):null))}const CallbackHeader=styled(PanelHeader)`
|
|
2
2
|
padding: var(--spacing-sm) 0 var(--spacing-sm) calc(var(--spacing-unit) / 2);
|
|
3
3
|
margin: 0;
|
|
4
4
|
line-height: var(--line-height-base);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useCallback,useMemo}from"react";import{IS_BROWSER}from"@redocly/theme";import*as yaml from"js-yaml";import{MediaTypes}from"../../constants";export const useDownloadInfo=({definition:e,downloadDefinitionUrls:o})=>{const n=useCallback((n=>{if(null==o?void 0:o[n])return o[n];if(IS_BROWSER&&window.Blob&&window.URL&&window.URL.createObjectURL){if("json"===n){const o=new Blob([JSON.stringify(e,null,2)],{type:MediaTypes.JSON});return window.URL.createObjectURL(o)}{const o=yaml.dump(e),n=new Blob([o],{type:"text/yaml"});return window.URL.createObjectURL(n)}}}),[e,o]);return useMemo((()=>{const e=n("json"),o=n("yaml");return{json:{url:e,filename:getFileNameFromUrl(e||"","openapi.json")},yaml:{url:o,filename:getFileNameFromUrl(o||"","openapi.yaml")}}}),[n])};function getFileNameFromUrl(e,o){const n=e.split("?")[0].split(
|
|
1
|
+
import{useCallback,useMemo}from"react";import{IS_BROWSER}from"@redocly/theme";import*as yaml from"js-yaml";import{MediaTypes}from"../../constants";export const useDownloadInfo=({definition:e,downloadDefinitionUrls:o})=>{const n=useCallback((n=>{if(null==o?void 0:o[n])return o[n];if(IS_BROWSER&&window.Blob&&window.URL&&window.URL.createObjectURL){if("json"===n){const o=new Blob([JSON.stringify(e,null,2)],{type:MediaTypes.JSON});return window.URL.createObjectURL(o)}{const o=yaml.dump(e),n=new Blob([o],{type:"text/yaml"});return window.URL.createObjectURL(n)}}}),[e,o]);return useMemo((()=>{const e=n("json"),o=n("yaml");return{json:{url:e,filename:getFileNameFromUrl(e||"","openapi.json")},yaml:{url:o,filename:getFileNameFromUrl(o||"","openapi.yaml")}}}),[n])};function getFileNameFromUrl(e,o){const n=e.split("?")[0].split(/[\\\/]/).pop();return n&&(n.includes("yaml")||n.includes("json"))?n:o}
|
|
2
2
|
//# sourceMappingURL=useDownloadInfo.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{BodyContent}from"../common/BodyContent";function BodyComponent({content:e,description:o,required:t,
|
|
1
|
+
import React,{memo}from"react";import{BodyContent}from"../common/BodyContent";function BodyComponent({content:e,description:o,required:t,deepLink:n}){return React.createElement(BodyContent,{content:e,required:t,description:o,skipReadOnly:e.isRequestType,skipWriteOnly:!e.isRequestType,deepLink:n})}export const Body=memo(BodyComponent);
|
|
2
2
|
//# sourceMappingURL=Body.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { FieldModel } from '../../models';
|
|
3
3
|
interface ParametersGroupProps {
|
|
4
|
-
|
|
4
|
+
title: string;
|
|
5
5
|
parameters: FieldModel[];
|
|
6
|
-
|
|
6
|
+
deepLink: string;
|
|
7
7
|
}
|
|
8
8
|
export declare const ParametersGroup: React.NamedExoticComponent<ParametersGroupProps>;
|
|
9
9
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React,{memo}from"react";import styled from"styled-components";import{LinkIcon}from"@redocly/theme";import{PropertyDetails}from"../PropertyDetails";import{LinkToField}from"../common/LinkToField";
|
|
1
|
+
import React,{memo}from"react";import styled from"styled-components";import{LinkIcon}from"@redocly/theme";import{PropertyDetails}from"../PropertyDetails";import{LinkToField}from"../common/LinkToField";function ParametersGroupComponent({title:e,parameters:t,deepLink:r}){return t&&t.length?React.createElement(Wrapper,null,React.createElement(Title,null,React.createElement(LinkToField,{to:r}),e),t.map(((e,t)=>React.createElement(PropertyDetails,{key:e.name,isFirst:0===t,field:e,showExamples:!0})))):null}export const ParametersGroup=memo(ParametersGroupComponent);const Title=styled.span`
|
|
2
2
|
position: relative;
|
|
3
3
|
display: flex;
|
|
4
4
|
align-items: center;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{ParametersGroup}from"./ParametersGroup";import{Body}from"./Body";const PARAM_PLACES=["path","query","cookie","header"],PARAM_NAMES_MAP={[PARAM_PLACES[0]]:"Path",[PARAM_PLACES[1]]:"Query",[PARAM_PLACES[2]]:"Cookies",[PARAM_PLACES[3]]:"Headers"};export function RequestParameters({body:e,parameters:r=[],operationId:t}){if(!e&&!r.length)return null;const a=(e=>{const r={};return e.forEach((e=>{safePush(r,e.in,e)})),r})(r),o=r.length>0?PARAM_PLACES:[],{content:n,description:A,required:
|
|
1
|
+
import React from"react";import{ParametersGroup}from"./ParametersGroup";import{Body}from"./Body";import{makeDeepLink}from"../../services";const PARAM_PLACES=["path","query","cookie","header"],PARAM_NAMES_MAP={[PARAM_PLACES[0]]:"Path",[PARAM_PLACES[1]]:"Query",[PARAM_PLACES[2]]:"Cookies",[PARAM_PLACES[3]]:"Headers"};export function RequestParameters({body:e,parameters:r=[],operationId:t}){if(!e&&!r.length)return null;const a=(e=>{const r={};return e.forEach((e=>{safePush(r,e.in,e)})),r})(r),o=r.length>0?PARAM_PLACES:[],{content:n,description:A,required:i}=e||{};return React.createElement(React.Fragment,null,o.map((e=>React.createElement(ParametersGroup,{key:e,title:PARAM_NAMES_MAP[e],parameters:a[e],deepLink:makeDeepLink(t,`request/${e}`)}))),n&&React.createElement(Body,{content:n,description:A,required:i,deepLink:makeDeepLink(t,"request/body")}))}function safePush(e,r="",t){e[r]||(e[r]=[]),e[r].push(t)}
|
|
2
2
|
//# sourceMappingURL=RequestParameters.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{ResponseHeaders}from"./ResponseHeaders";import{StyledDescription}from"./styled";import{BodyContent}from"../common/BodyContent";function ResponseDetailsComponent({response:e,operationId:t}){const{description:o,headers:n,content:
|
|
1
|
+
import React,{memo}from"react";import{ResponseHeaders}from"./ResponseHeaders";import{StyledDescription}from"./styled";import{BodyContent}from"../common/BodyContent";import{makeDeepLink}from"../../services";function ResponseDetailsComponent({response:e,operationId:t}){const{description:o,headers:n,content:s,summary:r}=e;return React.createElement(React.Fragment,null,React.createElement(StyledDescription,{className:"redoc-markdown",source:r}),React.createElement(StyledDescription,{className:"redoc-markdown",source:o}),React.createElement(ResponseHeaders,{headers:n,deepLink:makeDeepLink(t,"response/headers")}),React.createElement(BodyContent,{content:s,skipWriteOnly:!0,deepLink:makeDeepLink(t,"response/body")}))}export const ResponseDetails=memo(ResponseDetailsComponent);
|
|
2
2
|
//# sourceMappingURL=ResponseDetails.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{memo}from"react";import{HeadersCaption,StyledHeadersProperties}from"./styled";import{PropertyDetails}from"../PropertyDetails";function ResponseHeadersComponent({headers:e}){return void 0===e||0===e.length?null:React.createElement(StyledHeadersProperties,null,React.createElement(HeadersCaption,null,"Headers"),e.map(((e,t)=>React.createElement(PropertyDetails,{key:e.name,isFirst:0===t,field:e,showExamples:!0}))))}export const ResponseHeaders=memo(ResponseHeadersComponent);
|
|
1
|
+
import React,{memo}from"react";import{HeadersCaption,StyledHeadersProperties}from"./styled";import{PropertyDetails}from"../PropertyDetails";import{LinkToField}from"../common/LinkToField";function ResponseHeadersComponent({headers:e,deepLink:t}){return void 0===e||0===e.length?null:React.createElement(StyledHeadersProperties,null,React.createElement(HeadersCaption,null,React.createElement(LinkToField,{to:t}),"Headers"),e.map(((e,t)=>React.createElement(PropertyDetails,{key:e.name,isFirst:0===t,field:e,showExamples:!0}))))}export const ResponseHeaders=memo(ResponseHeadersComponent);
|
|
2
2
|
//# sourceMappingURL=ResponseHeaders.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React,{useState,useEffect}from"react";import{WarnMessage}from"../shared";import{FormControl,Dropdown}from"../common";export const ExampleSwitch=({exampleKey:e,examples:
|
|
1
|
+
import React,{useState,useEffect}from"react";import{WarnMessage,MimeLabel}from"../shared";import{FormControl,Dropdown}from"../common";import{DropdownOrLabel}from"../DropdownOrLabel/DropdownOrLabel";export const ExampleSwitch=({exampleKey:e,examples:a,onChange:o})=>{var t,r;const n=Object.keys(a),l=e?n.indexOf(e):0,[m,d]=useState(l>-1?l:0);useEffect((()=>d(l>-1?l:0)),[e,l]);const c=n.map(((e,o)=>({value:a[e].summary||e,idx:o})));return React.createElement(React.Fragment,null,"default"!==(null===(t=c[m])||void 0===t?void 0:t.value)&&React.createElement(FormControl,{"data-cy":"example-switch"},React.createElement(DropdownOrLabel,{Dropdown:Dropdown,Label:MimeLabel,variant:"dark",fullWidth:!0,options:c,value:null===(r=c[m])||void 0===r?void 0:r.value,onChange:({idx:e})=>{d(e),o(n[e])}})),e&&-1===l&&React.createElement(WarnMessage,null,"Provided sample not found"))};
|
|
2
2
|
//# sourceMappingURL=ExampleSwitch.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React,{memo}from"react";import styled from"styled-components";import{Markdown}from"../Markdown";import{SecuritySchemeItem}from"./SecuritySchemeItem";import{StyledLink,Tag}from"./styled";function OAuthFlowComponent({flow:e}){const t=Object.keys((null==e?void 0:e.scopes)||{});return React.createElement(React.Fragment,null,React.createElement(SecuritySchemeItem,{label:"Authorization URL:",value:(null==e?void 0:e.authorizationUrl)&&React.createElement(StyledLink,{target:"_blank",rel:"noopener noreferrer",href:null==e?void 0:e.authorizationUrl},null==e?void 0:e.authorizationUrl)}),React.createElement(SecuritySchemeItem,{label:"Token URL:",value:null==e?void 0:e.tokenUrl}),React.createElement(SecuritySchemeItem,{label:"Refresh URL:",value:null==e?void 0:e.refreshUrl}),t.length&&React.createElement(React.Fragment,null,React.createElement(SecuritySchemeItem,{label:"Scopes",value:" "}),t.map((t=>React.createElement(SecuritySchemeItem,{key:t,label:React.createElement(StyledTag,{className:"tag-grey"},t),value:React.createElement(Markdown,{source:(null==e?void 0:e.scopes[t])||""})})))))}const StyledTag=styled(Tag)`
|
|
1
|
+
import React,{memo}from"react";import styled from"styled-components";import{Markdown}from"../Markdown";import{SecuritySchemeItem}from"./SecuritySchemeItem";import{StyledLink,Tag}from"./styled";function OAuthFlowComponent({flow:e}){const t=Object.keys((null==e?void 0:e.scopes)||{});return React.createElement(React.Fragment,null,React.createElement(SecuritySchemeItem,{label:"Authorization URL:",value:(null==e?void 0:e.authorizationUrl)&&React.createElement(StyledLink,{target:"_blank",rel:"noopener noreferrer",href:null==e?void 0:e.authorizationUrl},null==e?void 0:e.authorizationUrl)}),React.createElement(SecuritySchemeItem,{label:"Token URL:",value:null==e?void 0:e.tokenUrl}),React.createElement(SecuritySchemeItem,{label:"Refresh URL:",value:null==e?void 0:e.refreshUrl}),t.length&&React.createElement(React.Fragment,null,React.createElement(SecuritySchemeItem,{label:"Scopes",value:" "}),t.map((t=>React.createElement(SecuritySchemeItem,{key:t,label:React.createElement(StyledTag,{className:"tag-grey"},t),value:React.createElement(Markdown,{source:(null==e?void 0:e.scopes[t])||""})}))))||null)}const StyledTag=styled(Tag)`
|
|
2
2
|
margin-left: var(--spacing-xs);
|
|
3
3
|
`;export const OAuthFlow=memo(OAuthFlowComponent);
|
|
4
4
|
//# sourceMappingURL=OAuthFlow.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from"react";import{CopyButton}from"@redocly/theme";import styled from"styled-components";import{expandDefaultServerVariables,getBasePath}from"../../utils";import{
|
|
1
|
+
import React from"react";import{CopyButton}from"@redocly/theme";import styled from"styled-components";import{expandDefaultServerVariables,getBasePath}from"../../utils";import{PanelItemDescription,Title}from"../PanelItem";import{ViewNested}from"../ViewNested";import{Tag}from"../common";export const ServerList=({servers:e,path:t,expandVariables:a,hideHostname:r})=>React.createElement(ItemsList,null,e.map((e=>{const i=a?expandDefaultServerVariables(e.url,e.variables):e.url,l=getBasePath(i),n=(r?"/"===l?"":l:i)+t,o=Object.keys(e.variables||{}).length,s=`${1===Number(o)?"":o} ${1!==o?"variables":"variable"}`;return React.createElement("div",{key:i},React.createElement(PanelItemDescription,null,e.description),React.createElement(TitleWrap,null,React.createElement(Title,{suppressHydrationWarning:!0},n),React.createElement(CopyButton,{data:n,key:n})),e.variables&&React.createElement(ViewNested,{expandText:`Show ${s}`,hideText:`Hide ${s}`,propertyLength:Object.keys(e.variables).length,expandable:!0,isArray:!0,hideDivider:!0},React.createElement(ServerVariablesContainer,null,Object.entries(e.variables||{}).map((([e,t])=>React.createElement(ServerVariableContainer,{key:e},React.createElement(ServerVariableName,null,e),React.createElement(Variable,null,"Default ",React.createElement(StyledTag,null,t.default)),React.createElement(Variable,null,t.description),t.enum&&React.createElement(Variable,null,"Enum",React.createElement(TagWrapper,null,t.enum.map((e=>React.createElement(StyledTag,{key:e},e)))))))))))})));const ItemsList=styled.div`
|
|
2
2
|
& > div {
|
|
3
3
|
border-bottom: 1px solid var(--border-color-secondary);
|
|
4
4
|
margin-bottom: var(--spacing-xs);
|
|
@@ -48,5 +48,8 @@ import React from"react";import{CopyButton}from"@redocly/theme";import styled fr
|
|
|
48
48
|
`,StyledTag=styled(Tag)`
|
|
49
49
|
font-size: var(--font-size-sm);
|
|
50
50
|
line-height: var(--line-height-sm);
|
|
51
|
+
`,TitleWrap=styled.div`
|
|
52
|
+
display: flex;
|
|
53
|
+
justify-content: space-between;
|
|
51
54
|
`;
|
|
52
55
|
//# sourceMappingURL=ServerList.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useActiveSectionId}from"@redocly/theme";import{useMemo}from"react";import{useLocation}from"react-router-dom";import{pathMatchedLink}from"../../../utils";export function useMenuItems({items:e}){const t=useLocation(),i=useActiveSectionId(t,!1,!1);return useMemo((()=>mapAndSetActiveItems(e,i,t)),[i,e,t])}function mapAndSetActiveItems(e,t="",i){const s=[];return convertOpenAPIDocs2Sidebar({contentItems:e,sidebarItems:s,activeItemId:t,location:i}),s}function isItemActive(e,t="",i){return!!e.href&&(e.id===t
|
|
1
|
+
import{useActiveSectionId}from"@redocly/theme";import{useMemo}from"react";import{useLocation}from"react-router-dom";import{pathMatchedLink}from"../../../utils";export function useMenuItems({items:e}){const t=useLocation(),i=useActiveSectionId(t,!1,!1);return useMemo((()=>mapAndSetActiveItems(e,i,t)),[i,e,t])}function mapAndSetActiveItems(e,t="",i){const s=[];return convertOpenAPIDocs2Sidebar({contentItems:e,sidebarItems:s,activeItemId:t,location:i}),s}function isItemActive(e,t="",i){return!!e.href&&(t?e.id===t:pathMatchedLink(i,e.href))}function isSubItemActive(e,t="",i){return(e.items||[]).some((e=>isItemActive(e,t,i)||isSubItemActive(e,t,i)))}function convertOpenAPIDocs2Sidebar(e){const{contentItems:t,sidebarItems:i,activeItemId:s,location:c}=e;for(const n of t){const t=isItemActive(n,s,c),o=isSubItemActive(n,s,c);switch(n.type){case"group":i.push({type:"separator",label:n.name,active:t,hasActiveSubItem:o}),convertOpenAPIDocs2Sidebar(Object.assign(Object.assign({},e),{contentItems:n.items,sidebarItems:i}));break;case"tag":const a={type:"group",label:n.name,items:[],link:n.href,active:t,hasActiveSubItem:o};i.push(a),convertOpenAPIDocs2Sidebar({contentItems:n.items,sidebarItems:a.items||[],activeItemId:s,location:c});break;case"operation":case"schema":i.push({type:"link",label:n.name,httpVerb:"schema"===n.type?"schema":n.httpVerb,link:n.href,active:t,hasActiveSubItem:o});break;case"section":if(-1===n.depth)continue;const m={type:n.items.length?"group":"link",label:n.name,link:n.href,items:[],active:t,hasActiveSubItem:o};i.push(m),n.items.length&&convertOpenAPIDocs2Sidebar({contentItems:n.items,sidebarItems:m.items,activeItemId:s,location:c})}}}
|
|
2
2
|
//# sourceMappingURL=useMenuItems.js.map
|
|
@@ -6,7 +6,7 @@ interface BodyContentProps {
|
|
|
6
6
|
required?: boolean;
|
|
7
7
|
description?: string | GenericObject;
|
|
8
8
|
content?: MediaContentModel;
|
|
9
|
-
|
|
9
|
+
deepLink: string;
|
|
10
10
|
}
|
|
11
11
|
export declare const BodyContent: React.NamedExoticComponent<BodyContentProps>;
|
|
12
12
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React,{memo}from"react";import styled from"styled-components";import{useAtom}from"jotai";import{LinkIcon}from"@redocly/theme";import{Dropdown}from"../DropdownTheme";import{RequiredLabel}from"../Fields";import{ConstraintsView}from"../ConstraintsView";import{Schema}from"../../Schema";import{getActiveMediaType}from"../../../models";import{Markdown}from"../../Markdown";import{activeMimeNameAtom}from"../../../jotai/app";import{LinkToField}from"../LinkToField";
|
|
1
|
+
import React,{memo}from"react";import styled from"styled-components";import{useAtom}from"jotai";import{LinkIcon}from"@redocly/theme";import{Dropdown}from"../DropdownTheme";import{RequiredLabel}from"../Fields";import{ConstraintsView}from"../ConstraintsView";import{Schema}from"../../Schema";import{getActiveMediaType}from"../../../models";import{Markdown}from"../../Markdown";import{activeMimeNameAtom}from"../../../jotai/app";import{LinkToField}from"../LinkToField";function BodyContentComponent({required:e,skipReadOnly:t,skipWriteOnly:o,description:n,content:i,deepLink:r}){const[a,m]=useAtom(activeMimeNameAtom);if(!i)return null;const{schema:l,examples:c,operation:s,name:p}=getActiveMediaType(i,a);return React.createElement(React.Fragment,null,React.createElement(Title,null,React.createElement(LinkToField,{to:r}),"Body",React.createElement(Dropdown,{options:i.mediaTypes.map((({name:e})=>({label:e,value:e}))),value:p,onChange:({value:e})=>m(e)})),e&&React.createElement(RequiredLabel,null,"required"),React.createElement(StyledMarkdown,{source:n}),"object"===(null==l?void 0:l.type)&&(null==l?void 0:l.constraints)&&React.createElement(ConstraintsView,{constraints:(null==l?void 0:l.constraints)||[]}),React.createElement(Schema,{skipReadOnly:t,skipWriteOnly:o,key:"schema",schema:l,examples:c,operation:s}))}export const BodyContent=memo(BodyContentComponent);const StyledMarkdown=styled(Markdown)`
|
|
2
2
|
margin: var(--spacing-xxs) 0 0;
|
|
3
3
|
`,Title=styled.span`
|
|
4
4
|
position: relative;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import styled,{css}from"styled-components";import React from"react";import{useLocation}from"react-router-dom";import{LinkIcon}from"@redocly/theme";import{joinWithSeparator}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{
|
|
1
|
+
import styled,{css}from"styled-components";import React from"react";import{useLocation}from"react-router-dom";import{LinkIcon}from"@redocly/theme";import{joinWithSeparator}from"../../services";import{constructFieldDeepFragment}from"../../services/history/helpers";import{ShareLink}from"./linkify";export function generateDeepLink(i){const e=i.deps.operation,o=constructFieldDeepFragment(i);return(null==e?void 0:e.id)||e.isCallback?joinWithSeparator(e.href,joinWithSeparator(e.id,o),"#"):"#"+o}export const LinkToField=({to:i,className:e})=>{const o=i,t=useLocation(),r=null==o?void 0:o.split("#")[1],n=!!t&&t.hash===`#${r}`;return React.createElement(ShareLinkToField,{ariaLabel:`link to ${o}`,className:e,isActive:n,to:o,id:r})};export const ShareLinkToField=styled(ShareLink)`
|
|
2
2
|
display: flex;
|
|
3
3
|
${LinkIcon} {
|
|
4
4
|
visibility: hidden;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{useAtomValue}from"jotai";import{getRequestBody,getOperation}from"../../models";import{Row,SamplesMiddlePanel,SamplesPanel}from"../common";import{SamplesWrap,FullWidthPanel}from"./styled.components";import{PayloadSamples}from"../PayloadSamples";import{globalStoreAtom}from"../../jotai/store";import{layoutAtom}from"../../jotai/app";import{Body}from"../RequestParameters";export const RedocRequestBody=({pointer:e,hideSamples:t})=>{const{options:o,parser:a}=useAtomValue(globalStoreAtom),r=useAtomValue(layoutAtom),
|
|
1
|
+
import React from"react";import{useAtomValue}from"jotai";import{getRequestBody,getOperation}from"../../models";import{Row,SamplesMiddlePanel,SamplesPanel}from"../common";import{SamplesWrap,FullWidthPanel}from"./styled.components";import{PayloadSamples}from"../PayloadSamples";import{globalStoreAtom}from"../../jotai/store";import{layoutAtom}from"../../jotai/app";import{Body}from"../RequestParameters";import{makeDeepLink}from"../../services";export const RedocRequestBody=({pointer:e,hideSamples:t})=>{const{options:o,parser:a}=useAtomValue(globalStoreAtom),r=useAtomValue(layoutAtom),m=getOperation(a,{pointer:e,pathName:"",httpVerb:"",pathParameters:[],pathServers:[],isWebhook:!1,responses:{}},void 0,o,""),{content:l,description:p,required:n}=getRequestBody({parser:a,infoOrRef:{$ref:e},options:o,operation:m})||{},s=t?FullWidthPanel:SamplesMiddlePanel;return React.createElement(Row,{layout:r},React.createElement(s,null,l&&React.createElement(Body,{content:l,description:p,required:n,deepLink:makeDeepLink(m.id,"request/body")})),!t&&React.createElement(SamplesPanel,null,React.createElement(SamplesWrap,null,l&&React.createElement(PayloadSamples,{content:l})))||React.createElement("span",null))};
|
|
2
2
|
//# sourceMappingURL=RedocRequestBody.js.map
|
package/lib-esm/models/group.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{joinWithSeparator}from"../services";import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getTagOrGroup(e,i,{markdownHeadingsAnchorLevel:r},t){let a;a=(null==t?void 0:t.id)&&"schema"===e?joinWithSeparator(t.id,safeSlugify(i.name)):i.id||safeSlugify(i.name);const o=i["x-displayName"]||i.name,s=i.level||1,n=i.isSchema,m=i.ast||void 0;return{id:a,type:e,parent:t,name:o,level:s,depth:0,isSchema:n,description:
|
|
1
|
+
import{joinWithSeparator}from"../services";import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getTagOrGroup(e,i,{markdownHeadingsAnchorLevel:r},t){let a;a=(null==t?void 0:t.id)&&"schema"===e?joinWithSeparator(t.id,safeSlugify(i.name)):i.id||safeSlugify(i.name);const o=i["x-displayName"]||i.name,s=i.level||1,n=i.isSchema,m=i.ast||void 0,d=saveTextBeforeHeading(getValueFromMdParsedExtension(i,"description")||"",r),l=i.items||[],f=i.externalDocs;return{id:a.toLowerCase(),type:e,parent:t,name:o,level:s,depth:0,isSchema:n,description:d,items:l,ast:m,externalDocs:f,href:getHref({id:a})}}
|
|
2
2
|
//# sourceMappingURL=group.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{queryString}from"../../utils";import{getActiveMediaType}from"../../models/mediaContent";export function isSameHash(e,o){return e===o||"#"+e===o||e==="#"+o}function getContentTypeName(e){var o,n,
|
|
1
|
+
import{queryString}from"../../utils";import{getActiveMediaType}from"../../models/mediaContent";export function isSameHash(e,o){return e===o||"#"+e===o||e==="#"+o}function getContentTypeName(e){var o,t,n,i,d,r,s,p,l,v,a,u,c;if(!e.in)return"request"===e.deps.type&&(null===(n=null===(t=null===(o=e.deps.operation)||void 0===o?void 0:o.requestBody)||void 0===t?void 0:t.content)||void 0===n?void 0:n.mediaTypes)?(null===(r=null===(d=null===(i=e.deps.operation)||void 0===i?void 0:i.requestBody)||void 0===d?void 0:d.content)||void 0===r?void 0:r.mediaTypes.length)>1?(null===(p=null===(s=e.deps.operation)||void 0===s?void 0:s.requestBody)||void 0===p?void 0:p.content)&&getActiveMediaType(e.deps.operation.requestBody.content).name:void 0:"response"===e.deps.type&&(null===(v=null===(l=e.deps.response)||void 0===l?void 0:l.content)||void 0===v?void 0:v.mediaTypes)&&(null===(u=null===(a=e.deps.response)||void 0===a?void 0:a.content)||void 0===u?void 0:u.mediaTypes.length)>1?(null===(c=e.deps.response)||void 0===c?void 0:c.content)&&getActiveMediaType(e.deps.response.content).name:void 0}export function constructFieldDeepFragment(e){var o,t;if(!e)return"";const n={t:e.deps.type,in:e.in||e.deps.in,c:"response"===e.deps.type?null===(o=e.deps.response)||void 0===o?void 0:o.code:void 0,cb:(null===(t=e.deps.operation)||void 0===t?void 0:t.isCallback)?e.deps.operation.callbackId:void 0,ct:getContentTypeName(e),path:e.fieldFullPath};return queryString.stringify(n,{encode:!1,sort:!1})}export function joinWithSeparator(e="",o="",t="/"){return e.endsWith(t)&&(e=e.slice(0,-t.length)),o.startsWith(t)&&(o=o.slice(t.length)),e&&o?e+t+o:e+o}export function makeDeepLink(e,o){return(`/${e}#`+joinWithSeparator(e,o)).toLowerCase()}
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parse,Ast}from"@markdoc/markdoc";import{isString}from"@redocly/theme";import{getTagOrGroup}from"../../models";import{safeSlugify,unescapeHTMLChars}from"../../utils";export function addMarkdownItems(t,e,i,n=2){const o=isString(t)?parse(t):Ast.fromJSON(JSON.stringify(null==t?void 0:t.result)),r=[];let s;const l=(t,e,i=r,n,o)=>{let s;t=unescapeHTMLChars(t),n.attributes.id?s=n.attributes.id:(s=o?`${o}/${safeSlugify(t)}`:`section/${safeSlugify(t)}`,n.attributes.id=s);const l={id:s,name:t,level:e,items:[],ast:[n]};return i.push(l),l},a=(t,e)=>{var i,n;null===(n=null===(i=t[t.length-1])||void 0===i?void 0:i.ast)||void 0===n||n.push(e)},d=t=>{var e;for(const i of t.children){const t=getMarkdownContent(i)||"";"heading"===i.type&&1===i.attributes.level?s=l(t,i.attributes.level,void 0,i):i.attributes.level<=n?l(t,i.attributes.level,null==s?void 0:s.items,i,null==s?void 0:s.id):(null===(e=null==s?void 0:s.items)||void 0===e?void 0:e.length)?a(null==s?void 0:s.items,i):(null==r?void 0:r.length)&&a(r,i)}};if(Array.isArray(o))for(const t of o)d(t);else d(o);return mapHeadingsDeep(e,r,i,{markdownHeadingsAnchorLevel:n})}function mapHeadingsDeep(t,e,i=1,n){return e.map((e=>{const o=getTagOrGroup("section",e,n,t);return o.depth=i,e.items&&(o.items=mapHeadingsDeep(o,e.items,i+1,n)),o}))}function getMarkdownContent(t){var e,i;return"string"==typeof(null===(e=null==t?void 0:t.attributes)||void 0===e?void 0:e.content)?null===(i=t.attributes)||void 0===i?void 0:i.content:(null==t?void 0:t.children)?getMarkdownContent(t.children[0]):void 0}
|
|
1
|
+
import{parse,Ast}from"@markdoc/markdoc";import{isString}from"@redocly/theme";import{getTagOrGroup}from"../../models";import{safeSlugify,unescapeHTMLChars}from"../../utils";export function addMarkdownItems(t,e,i,n=2){const o=isString(t)?parse(t):Ast.fromJSON(JSON.stringify(null==t?void 0:t.result)),r=[];let s;const l=(t,e,i=r,n,o)=>{let s;t=unescapeHTMLChars(t),n.attributes.id?s=n.attributes.id:(s=o?`${o}/${safeSlugify(t)}`:`section/${safeSlugify(t)}`,n.attributes.id=s);const l={id:s.toLowerCase(),name:t,level:e,items:[],ast:[n]};return i.push(l),l},a=(t,e)=>{var i,n;null===(n=null===(i=t[t.length-1])||void 0===i?void 0:i.ast)||void 0===n||n.push(e)},d=t=>{var e;for(const i of t.children){const t=getMarkdownContent(i)||"";"heading"===i.type&&1===i.attributes.level?s=l(t,i.attributes.level,void 0,i):i.attributes.level<=n?l(t,i.attributes.level,null==s?void 0:s.items,i,null==s?void 0:s.id):(null===(e=null==s?void 0:s.items)||void 0===e?void 0:e.length)?a(null==s?void 0:s.items,i):(null==r?void 0:r.length)&&a(r,i)}};if(Array.isArray(o))for(const t of o)d(t);else d(o);return mapHeadingsDeep(e,r,i,{markdownHeadingsAnchorLevel:n})}function mapHeadingsDeep(t,e,i=1,n){return e.map((e=>{const o=getTagOrGroup("section",e,n,t);return o.depth=i,e.items&&(o.items=mapHeadingsDeep(o,e.items,i+1,n)),o}))}function getMarkdownContent(t){var e,i;return"string"==typeof(null===(e=null==t?void 0:t.attributes)||void 0===e?void 0:e.content)?null===(i=t.attributes)||void 0===i?void 0:i.content:(null==t?void 0:t.children)?getMarkdownContent(t.children[0]):void 0}
|
|
2
2
|
//# sourceMappingURL=markdown.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{alphabeticallyByProp,getOperationId,getOperationName}from"../../utils";export function getOperationsItems(t,e,o,r){if(0===e.operations.length)return[];const
|
|
1
|
+
import{alphabeticallyByProp,getOperationId,getOperationName}from"../../utils";export function getOperationsItems(t,e,o,r){if(0===e.operations.length)return[];const a=[];for(const r of e.operations){const e=getOperationId(r,t),i="operation";a.push({id:e,type:i,parent:t,operationDefinition:r,depth:o,name:getOperationName(r),httpVerb:r.httpVerb,path:r.pathName,items:[],isWebhook:r.isWebhook,operationId:r.operationId,href:getHref({id:e})})}return r.sortOperationsAlphabetically&&a.sort(alphabeticallyByProp("name")),a}export function getHref({id:t}){return`/${t}`.toLowerCase()}
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|