@redocly/openapi-docs 3.0.0-alpha.22 → 3.0.0-alpha.24
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/console.redocly-openapi-docs.min.js +3 -3
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-openapi-docs.min.js +965 -957
- package/lib/components/ApiInfo/ApiInfo.js +1 -1
- package/lib/models/example.js +1 -1
- package/lib/models/field.js +1 -1
- package/lib/models/group.js +1 -1
- package/lib/models/operation.js +1 -1
- package/lib/models/request.js +1 -1
- package/lib/models/response.js +1 -1
- package/lib/models/schema.js +1 -1
- package/lib/models/security.js +1 -1
- package/lib/services/OpenAPIParser.js +1 -1
- package/lib/services/menu/builder.js +1 -1
- package/lib/services/menu/tags.js +1 -1
- package/lib/types/open-api.d.ts +35 -29
- package/lib/utils/helpers.d.ts +2 -1
- package/lib/utils/helpers.js +1 -1
- package/lib/utils/openapi.d.ts +2 -4
- package/lib/utils/openapi.js +1 -1
- package/lib-esm/components/ApiInfo/ApiInfo.js +1 -1
- package/lib-esm/models/example.js +1 -1
- package/lib-esm/models/field.js +1 -1
- package/lib-esm/models/group.js +1 -1
- package/lib-esm/models/operation.js +1 -1
- package/lib-esm/models/request.js +1 -1
- package/lib-esm/models/response.js +1 -1
- package/lib-esm/models/schema.js +1 -1
- package/lib-esm/models/security.js +1 -1
- package/lib-esm/services/OpenAPIParser.js +1 -1
- package/lib-esm/services/menu/builder.js +1 -1
- package/lib-esm/services/menu/tags.js +1 -1
- package/lib-esm/types/open-api.d.ts +35 -29
- package/lib-esm/utils/helpers.d.ts +2 -1
- package/lib-esm/utils/helpers.js +1 -1
- package/lib-esm/utils/openapi.d.ts +2 -4
- package/lib-esm/utils/openapi.js +1 -1
- package/package.json +4 -4
|
@@ -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.ApiInfo=void 0;const react_1=__importDefault(require("react")),recoil_1=require("recoil"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),Download_1=require("../Download"),RenderHook_1=require("../RenderHook"),styled_1=require("./styled"),store_1=require("../../recoil/store"),saveTextBeforeHeading_1=require("../../utils/saveTextBeforeHeading");function ApiInfo(){const{options:{markdownHeadingsAnchorLevel:e,hooks:t,hideDownloadButton:
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.ApiInfo=void 0;const react_1=__importDefault(require("react")),recoil_1=require("recoil"),common_1=require("../common"),ExternalDocumentation_1=require("../ExternalDocumentation"),Markdown_1=require("../Markdown"),Download_1=require("../Download"),RenderHook_1=require("../RenderHook"),styled_1=require("./styled"),store_1=require("../../recoil/store"),saveTextBeforeHeading_1=require("../../utils/saveTextBeforeHeading"),helpers_1=require("../../utils/helpers");function ApiInfo(){const{options:{markdownHeadingsAnchorLevel:e,hooks:t,hideDownloadButton:r},parser:{definition:l}}=(0,recoil_1.useRecoilValue)(store_1.globalStoreSelector),n=(0,saveTextBeforeHeading_1.saveTextBeforeHeading)((0,helpers_1.getValueFromMdParsedExtension)(null==l?void 0:l.info,"description")||"",e),a=(0,helpers_1.getValueFromMdParsedExtension)(null==l?void 0:l.info,"summary")||void 0,o=null==l?void 0:l.info,c=null==l?void 0:l.externalDocs;if(!o)return null;const i=o.license&&react_1.default.createElement(styled_1.InfoSpan,null,"License:"," ",o.license.identifier?o.license.identifier:react_1.default.createElement("a",{href:o.license.url},o.license.name))||null,u=o.contact&&o.contact.url&&react_1.default.createElement(styled_1.InfoSpan,null,"URL: ",react_1.default.createElement("a",{href:o.contact.url},o.contact.url))||null,d=o.contact&&o.contact.email&&react_1.default.createElement(styled_1.InfoSpan,null,o.contact.name||"E-mail",":"," ",react_1.default.createElement("a",{href:"mailto:"+o.contact.email},o.contact.email))||null,s=o.termsOfService&&react_1.default.createElement(styled_1.InfoSpan,null,react_1.default.createElement("a",{href:o.termsOfService},"Terms of Service"))||null,_=o.version&&react_1.default.createElement("span",null,"(",o.version,")")||null;return react_1.default.createElement(common_1.Section,null,react_1.default.createElement(common_1.Row,null,react_1.default.createElement(common_1.SamplesMiddlePanel,{className:"api-info"},react_1.default.createElement(styled_1.ApiHeader,null,o.title," ",_),react_1.default.createElement(RenderHook_1.RenderHook,{Hook:null==t?void 0:t.AfterApiTitle,props:{info:o}}),!r&&react_1.default.createElement(Download_1.DownloadButtonWithLabel,{wrapped:!0}),react_1.default.createElement(Markdown_1.StyledMarkdownBlock,null,(o.license||o.contact||o.termsOfService)&&react_1.default.createElement(styled_1.InfoSpanBoxWrap,null,react_1.default.createElement(styled_1.InfoSpanBox,null,d," ",u," ",i," ",s))||null),a&&react_1.default.createElement(Markdown_1.Markdown,{source:a,"data-role":"redoc-summary"}),n&&react_1.default.createElement(Markdown_1.Markdown,{source:n,"data-role":"redoc-description"}),c&&react_1.default.createElement(ExternalDocumentation_1.ExternalDocumentation,{externalDocs:c}))))}exports.ApiInfo=ApiInfo;
|
|
2
2
|
//# sourceMappingURL=ApiInfo.js.map
|
package/lib/models/example.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getExamples=exports.getExternalExampleValue=void 0;const url_1=require("url"),utils_1=require("../utils"),ExternalExamplesCache={};function getExternalExampleValue(e,r){return r?(r in ExternalExamplesCache||(ExternalExamplesCache[r]=fetch(r).then((r=>r.text().then((t=>{if(!r.ok)return Promise.reject(new Error(t));if(!(0,utils_1.isJsonLike)(e))return t;try{return JSON.parse(t)}catch(e){return t}}))))),ExternalExamplesCache[r]):Promise.resolve(void 0)}function getExamples({parser:e,infoOrRef:r,mime:t,encoding:l}){let a;const{resolved:n}=e.deref(r),s=n.value,u=n.value,i=n
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getExamples=exports.getExternalExampleValue=void 0;const url_1=require("url"),utils_1=require("../utils"),ExternalExamplesCache={};function getExternalExampleValue(e,r){return r?(r in ExternalExamplesCache||(ExternalExamplesCache[r]=fetch(r).then((r=>r.text().then((t=>{if(!r.ok)return Promise.reject(new Error(t));if(!(0,utils_1.isJsonLike)(e))return t;try{return JSON.parse(t)}catch(e){return t}}))))),ExternalExamplesCache[r]):Promise.resolve(void 0)}function getExamples({parser:e,infoOrRef:r,mime:t,encoding:l}){let a;const{resolved:n}=e.deref(r),s=n.value,u=n.value,i=(0,utils_1.getValueFromMdParsedExtension)(n,"summary"),o=(0,utils_1.getValueFromMdParsedExtension)(n,"description");return n.externalValue&&(a=(0,url_1.resolve)(e.definitionUrl||"",n.externalValue)),{value:u,rawValue:s,externalValueUrl:a,summary:i,description:o,mime:t,encoding:l}}exports.getExternalExampleValue=getExternalExampleValue,exports.getExamples=getExamples;
|
|
2
2
|
//# sourceMappingURL=example.js.map
|
package/lib/models/field.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getField=void 0;const utils_1=require("../utils"),schema_1=require("./schema"),example_1=require("./example"),DEFAULT_SERIALIZATION={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};function getField(e,l,i,t,s,o,n=i){var d,a,r,p,c,m,u;const{resolved:x}=e.deref(l),v=l.kind||"field",h=l.name||x.name,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getField=void 0;const utils_1=require("../utils"),schema_1=require("./schema"),example_1=require("./example"),DEFAULT_SERIALIZATION={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};function getField(e,l,i,t,s,o,n=i){var d,a,r,p,c,m,u;const{resolved:x}=e.deref(l),v=l.kind||"field",h=l.name||x.name,F=x.in,f=!!x.required;let g,_,E=x.schema,y="";if(!E&&x.in&&x.content){y=Object.keys(x.content)[0];const l=x.content[y];E=l&&(null==l?void 0:l.example)?Object.assign(Object.assign({},e.deref(l.schema,o,!0).resolved),{example:x.example||l.example}):l.schema}const O=(null==s?void 0:s.parentFieldFullPath)?s.parentFieldFullPath+"/"+h:h,b=(0,schema_1.getSchema)({parser:e,schemaOrRef:E||{},pointer:i,options:t,baseRefsStack:o,absolutePointer:l.$ref||(null===(d=x.schema)||void 0===d?void 0:d.absolutePointer)||n,deps:Object.assign(Object.assign({},s),{parentFieldFullPath:O,in:F})}),A=void 0===x.description?(0,utils_1.getValueFromMdParsedExtension)(b,"description")||"":(0,utils_1.getValueFromMdParsedExtension)(x,"description"),I=x.example||b.example,P=x.examples||(null===(r=null===(a=x.content)||void 0===a?void 0:a[y])||void 0===r?void 0:r.examples),j=P?(0,utils_1.mapValues)(P,((l,i)=>(0,example_1.getExamples)({parser:e,infoOrRef:l,mime:i,encoding:x.encoding}))):void 0;y?g=y:x.style?_=x.style:F&&(_=null!==(c=null===(p=DEFAULT_SERIALIZATION[F])||void 0===p?void 0:p.style)&&void 0!==c?c:"form");const q=void 0===x.explode&&F?null===(u=null===(m=DEFAULT_SERIALIZATION[F])||void 0===m?void 0:m.explode)||void 0===u||u:!!x.explode;return{deps:s||{},schema:b,name:h,required:f,description:A,example:I,examples:j,deprecated:void 0===x.deprecated?b.deprecated:x.deprecated,in:F,kind:v,extensions:t.showExtensions?(0,utils_1.extractExtensions)(x,t.showExtensions):void 0,explode:q,style:_,const:(null==b?void 0:b.const)||(null==x?void 0:x.const)||"",serializationMime:g,fieldFullPath:O}}exports.getField=getField;
|
|
2
2
|
//# sourceMappingURL=field.js.map
|
package/lib/models/group.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getGroup=void 0;const utils_1=require("../utils"),operation_1=require("../services/menu/operation"),saveTextBeforeHeading_1=require("../utils/saveTextBeforeHeading");function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:r},
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getGroup=void 0;const utils_1=require("../utils"),operation_1=require("../services/menu/operation"),saveTextBeforeHeading_1=require("../utils/saveTextBeforeHeading");function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:r},s){const o=t.id||e+"/"+(0,utils_1.safeSlugify)(t.name),a=t["x-displayName"]||t.name,n=t.level||1,p=t.isSchema,u=t.ast||void 0;return{id:o,type:e,parent:s,name:a,level:n,depth:0,isSchema:p,description:(0,saveTextBeforeHeading_1.saveTextBeforeHeading)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",r),items:t.items,ast:u,externalDocs:t.externalDocs,href:(0,operation_1.getHref)({id:o,parent:s,type:e},i)}}exports.getGroup=getGroup;
|
|
2
2
|
//# sourceMappingURL=group.js.map
|
package/lib/models/operation.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getOperation=exports.isPayloadSample=void 0;const utils_1=require("../utils"),utils_2=require("../components/rightPanel/utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),services_1=require("../services"),response_1=require("./response");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;let isCodeSamplesWarningPrinted=!1;function getOperation(e,t,r,a,s,i){var o,n,l,p;const d=t.isWebhook,u={operationDefinition:t,parent:r,pointer:t.pointer,description:t
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getOperation=exports.isPayloadSample=void 0;const utils_1=require("../utils"),utils_2=require("../components/rightPanel/utils"),callback_1=require("./callback"),field_1=require("./field"),request_1=require("./request"),security_1=require("./security"),services_1=require("../services"),response_1=require("./response");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;let isCodeSamplesWarningPrinted=!1;function getOperation(e,t,r,a,s,i){var o,n,l,p;const d=t.isWebhook,u={operationDefinition:t,parent:r,pointer:t.pointer,description:(0,utils_1.getValueFromMdParsedExtension)(t,"description"),externalDocs:t.externalDocs,deprecated:!!t.deprecated,httpVerb:t.httpVerb,operationId:t.operationId,path:t.pathName,isWebhook:d,isCallback:Boolean(null==i?void 0:i.isCallback),isEvent:(null==i?void 0:i.isCallback)||d,name:(0,utils_1.getOperationName)(t),defaultExampleName:t.defaultSampleName,type:"operation",callbackId:null==i?void 0:i.id,href:s,get callbacks(){return Object.keys(t.callbacks||[]).map((i=>{var o;return(0,callback_1.getCallback)(e,i,null===(o=t.callbacks)||void 0===o?void 0:o[i],u.pointer,a,s,r)}))},get responses(){let r=!1;return Object.keys(t.responses||[]).filter((e=>"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(r=!0),(0,utils_1.isStatusCode)(e)))).map((s=>(0,response_1.getResponse)({parser:e,code:s,defaultAsError:r,infoOrRef:t.responses[s],options:a,isEvent:u.isEvent,operation:u})))},get parameters(){let r=(0,utils_1.mergeParams)(e,t.pathParameters,t.parameters,{pathPointer:utils_1.JsonPointer.dirName(u.pointer),operationPointer:u.pointer}).map((({paramOrRef:t,pointer:r})=>(0,field_1.getField)(e,t,r,a,{operation:u,type:"request"})));return a.sortPropsAlphabetically&&(r=(0,utils_1.sortByField)(r,"name")),a.requiredPropsFirst&&(r=(0,utils_1.sortByRequired)(r)),r}};(null==i?void 0:i.isCallback)?(u.security=(t.security||[]).map((t=>(0,security_1.getSecurityRequirement)({requirement:t,parser:e}))),u.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[])):(u.id=(0,utils_1.getOperationId)(t,r),u.security=(t.security||e.definition.security||[]).map((t=>(0,security_1.getSecurityRequirement)({requirement:t,parser:e}))),u.servers=(0,utils_1.normalizeServers)(e.definitionUrl,mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],a.mockServer))),a.showExtensions&&(u.extensions=(0,utils_1.extractExtensions)(t,a.showExtensions)),u.activeServer=(0,utils_2.getInitialServerWithVariables)(u.servers),u.requestBody=t.requestBody&&(0,request_1.getRequestBody)({parser:e,infoOrRef:t.requestBody,options:a,operation:u,isEvent:u.isEvent});const c=null===(n=null===(o=u.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.mediaTypes,[m]=c||[],[v]=Object.keys((null==m?void 0:m.examples)||[]);u.activeExampleName=!1===t.defaultSampleName?void 0:t.defaultSampleName||v;const g=null===(l=u.requestBody)||void 0===l?void 0:l.content;u.payload=(null==g?void 0:g.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:g}:void 0,u.definitionSamples=t["x-codeSamples"]||t["x-code-samples"]||[],t["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),u.hasSamples=(null==g?void 0:g.hasSample)||u.definitionSamples.length>0;const{payloadSampleIdx:y,hideRequestPayloadSample:S}=a;let f=[];if(!d){const t=a.generateCodeSamples||{},r=new Set(u.definitionSamples.map((({lang:e})=>e.toLowerCase())));f=generateCodeSamples((null===(p=t.languages)||void 0===p?void 0:p.filter((({lang:e})=>!r.has(e.toLowerCase()))))||[],t,e.definition,a.generatedPayloadSamplesMaxDepth)}const h=u.definitionSamples.concat(f),_=Math.min(h.length,y);return u.payload&&!S&&h.splice(_,0,u.payload),u.allCodeSamples=h,u.hideTryItPanel=!0===t["x-hideTryItPanel"],u}function generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:r},a,s){return e.map((({lang:e,label:i,options:o})=>({lang:e,label:i,get:i=>(0,services_1.getCodeSample)(Object.assign(Object.assign({},i),{lang:e,options:Object.assign(Object.assign({},o),{skipOptionalParameters:t,withOAuth2Call:r,spec:a,generatedPayloadSamplesMaxDepth:s})}))})))}function mergeInMockServer(e,t){if(!t)return e;const r={url:t.url,description:t.description};switch(t.position){case"first":return[r,...e];case"last":return[...e,r];case"replace":return[r];default:return e}}exports.getOperation=getOperation;
|
|
2
2
|
//# sourceMappingURL=operation.js.map
|
package/lib/models/request.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRequestBody=void 0;const utils_1=require("../utils"),mediaContent_1=require("./mediaContent");function getRequestBody({parser:e,infoOrRef:t,options:o,isEvent:i,operation:n}){const{resolved:r}=e.deref(t),s=r
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getRequestBody=void 0;const utils_1=require("../utils"),mediaContent_1=require("./mediaContent");function getRequestBody({parser:e,infoOrRef:t,options:o,isEvent:i,operation:n}){const{resolved:r}=e.deref(t),s=(0,utils_1.getValueFromMdParsedExtension)(r,"description")||"",u=!!r.required;let d;const a=!i,p=(0,utils_1.getContentWithLegacyExamples)(r);return void 0!==p&&(d=(0,mediaContent_1.getMediaContent)({parser:e,info:p,isRequestType:a,options:o,data:{operation:n,type:"request",absolutePointer:t.$ref||utils_1.JsonPointer.join(n.pointer,["requestBody"])}})),{description:s,required:u,content:d}}exports.getRequestBody=getRequestBody;
|
|
2
2
|
//# sourceMappingURL=request.js.map
|
package/lib/models/response.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getResponse=void 0;const utils_1=require("../utils"),field_1=require("./field"),mediaContent_1=require("./mediaContent");function getResponse({parser:e,code:s,defaultAsError:t,infoOrRef:o,options:n,isEvent:i,operation:r}){var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getResponse=void 0;const utils_1=require("../utils"),field_1=require("./field"),mediaContent_1=require("./mediaContent");function getResponse({parser:e,code:s,defaultAsError:t,infoOrRef:o,options:n,isEvent:i,operation:r}){var d;const a=!!i,p="all"===n.expandResponses||(null===(d=n.expandResponses)||void 0===d?void 0:d[s])||!1,{resolved:u}=e.deref(o),l={code:s,expanded:p};void 0!==u["x-summary"]?(l.summary=(0,utils_1.getValueFromMdParsedExtension)(u,"x-summary"),l.description=(0,utils_1.getValueFromMdParsedExtension)(u,"description")||""):(l.summary=(0,utils_1.getValueFromMdParsedExtension)(u,"description")||"",l.description=""),l.type=(0,utils_1.getStatusCodeType)(s,t);const c=u.headers,m=o.$ref||utils_1.JsonPointer.join((null==r?void 0:r.pointer)||"",["responses",s]);void 0!==c&&(l.headers=Object.keys(c).map((s=>{const t=c[s];return(0,field_1.getField)(e,Object.assign(Object.assign({},t),{name:s}),utils_1.JsonPointer.join(m,["headers",s]),n,{operation:r,type:"response",response:l})})));const g=(0,utils_1.getContentWithLegacyExamples)(u);return void 0!==g&&(l.content=(0,mediaContent_1.getMediaContent)({parser:e,info:g,isRequestType:a,options:n,data:{operation:r,type:"response",response:l,absolutePointer:m}})),l}exports.getResponse=getResponse;
|
|
2
2
|
//# sourceMappingURL=response.js.map
|
package/lib/models/schema.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __rest=this&&this.__rest||function(e,
|
|
1
|
+
"use strict";var __rest=this&&this.__rest||function(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&Object.prototype.propertyIsEnumerable.call(e,r[s])&&(i[r[s]]=e[r[s]])}return i};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSchema=void 0;const OpenAPIParser_1=require("../services/OpenAPIParser"),utils_1=require("../utils"),services_1=require("../services"),field_1=require("./field");function getSchema({parser:e,schemaOrRef:t,pointer:i,options:r,isChild:s=!1,baseRefsStack:n=[],deps:o,absolutePointer:a}){var l,p,d,c,f,m,u,y;const{resolved:O,refsStack:h}=e.deref(t,n,!0),v=t.$ref||i||"",b=(0,OpenAPIParser_1.pushRef)(h,v),P=e.mergeAllOf(O,v,b,t.$ref||a),g=P.type||(0,utils_1.detectType)(P),x={parser:e,options:r,deps:o,schemaOrRef:t,isChild:s,typePrefix:"",pointer:v,absolutePointer:a,refsStack:b,rawSchema:O,type:g,isCircular:!!P["x-circular-ref"],title:P.title||(0,utils_1.isNamedDefinition)(v)&&utils_1.JsonPointer.baseName(v)||"",description:(0,utils_1.getValueFromMdParsedExtension)(P,"description")||"",format:P.format,enum:P.enum||[],example:P.example,deprecated:!!P.deprecated,pattern:P.pattern,externalDocs:P.externalDocs,displayFormat:P.format,isPrimitive:(0,utils_1.isPrimitiveType)(P,g),constraints:(0,utils_1.humanizeConstraints)(P),default:P.default,readOnly:!!P.readOnly,writeOnly:!!P.writeOnly,const:P.const||"",contentEncoding:P.contentEncoding,contentMediaType:P.contentMediaType,minItems:P.minItems,maxItems:P.maxItems,nullable:P.nullable||P["x-nullable"],schema:P,displayType:"",items:void 0,extensions:void 0,oneOfType:"",discriminatorProp:void 0,oneOf:void 0,"x-enumDescriptions":(0,utils_1.getValueFromMdParsedExtension)(P,"x-enumDescriptions"),get fields(){if(hasType(x,"object")||hasType(x,"array")&&(Array.isArray(P.items)||Array.isArray(P.prefixItems)))return buildFields(e,P,v,r,b,o)}};if((P.nullable||P["x-nullable"])&&(Array.isArray(x.type)&&!x.type.some((e=>null===e||"null"===e))?x.type=[...x.type,"null"]:Array.isArray(x.type)||null===x.type&&"null"===x.type||(x.type=[x.type,"null"])),x.displayType=Array.isArray(x.type)?x.type.map((e=>null===e?"null":e)).join(" or "):x.type,x.isCircular)return x;if(P.if&&P.then||P.if&&P.else){const{oneOf:t,oneOfType:i}=initConditionalOperators({schema:P,parser:e,pointer:v,options:r,deps:o,refsStack:b});return x.oneOf=t,x.oneOfType=i,x}if(!s&&void 0!==getDiscriminator(P)){const{oneOf:t,discriminatorProp:i}=initDiscriminator({schema:P,parser:e,deps:o,mergedSchema:P,options:r,pointer:v,refsStack:b});return x.oneOf=t,x.discriminatorProp=i,x}if(s&&Array.isArray(P.oneOf)&&P.oneOf.find((e=>e.$ref===v))&&delete P.oneOf,void 0!==P.oneOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:P.oneOf,parser:e,deps:o,options:r,pointer:v,refsStack:b,schema:P});return x.oneOfType="One of",t&&(x.oneOf=t),x.displayType=i,void 0!==P.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${v}`),x}if(void 0!==P.anyOf){const{oneOf:t,displayType:i}=initOneOf({schemaOneOf:P.anyOf,parser:e,deps:o,options:r,pointer:v,refsStack:b,schema:P});return t&&(x.oneOf=t),x.displayType=i,x.oneOfType="Any of",x}if(hasType(x,"array")&&(P.items&&(x.items=getSchema({parser:e,schemaOrRef:P.items,pointer:v+"/items",options:r,baseRefsStack:b,deps:o,absolutePointer:utils_1.JsonPointer.join(P.absolutePointer||"",["items"])})),x.displayType=P.prefixItems||Array.isArray(P.items)?"items":(0,utils_1.pluralizeType)((null===(l=x.items)||void 0===l?void 0:l.displayType)||x.displayType),x.displayFormat=(null===(p=x.items)||void 0===p?void 0:p.format)||"",x.typePrefix=(null===(d=x.items)||void 0===d?void 0:d.typePrefix)||""+(0,services_1.l)("arrayOf"),x.title=x.title||(null===(c=x.items)||void 0===c?void 0:c.title)||"",x.isPrimitive=void 0!==(null===(f=x.items)||void 0===f?void 0:f.isPrimitive)?null===(m=x.items)||void 0===m?void 0:m.isPrimitive:x.isPrimitive,void 0===x.example&&void 0!==(null===(u=x.items)||void 0===u?void 0:u.example)&&(x.example=[x.items.example]),(null===(y=x.items)||void 0===y?void 0:y.isPrimitive)&&(x.enum=x.items.enum,x["x-enumDescriptions"]=(0,utils_1.getValueFromMdParsedExtension)(x.items,"x-enumDescriptions")),Array.isArray(x.type))){const e=x.type.filter((e=>"array"!==e));e.length&&(x.displayType+=` or ${e.join(" or ")}`)}return x.enum.length&&r.sortEnumValuesAlphabetically&&x.enum.sort(),r.showExtensions&&(x.extensions=(0,utils_1.extractExtensions)(P,r.showExtensions)),x}function initDiscriminator({schema:e,parser:t,pointer:i,options:r,refsStack:s,deps:n,mergedSchema:o}){const a=getDiscriminator(e),l=null==a?void 0:a.propertyName,p=t.findDerived([...o["x-parentRefs"]||[],i]);if(e.oneOf)for(const t of e.oneOf){if(void 0===t.$ref)continue;const e=utils_1.JsonPointer.baseName(t.$ref);p[t.$ref]=e}const d=(null==a?void 0:a.mapping)||{};let c=(null==a?void 0:a["x-explicitMappingOnly"])||!1;0===Object.keys(d).length&&(c=!1);const f={};for(const e in d){const t=d[e];Array.isArray(f[t])?f[t].push(e):f[t]=[e]}const m=c?Object.assign({},f):Object.assign(Object.assign({},p),f);let u=[];for(const e of Object.keys(m)){const t=m[e];if(Array.isArray(t))for(const i of t)u.push({$ref:e,name:i});else u.push({$ref:e,name:t})}const y=Object.keys(d);0!==y.length&&(u=u.sort(((e,t)=>{const i=y.indexOf(e.name),r=y.indexOf(t.name);return i<0&&r<0?e.name.localeCompare(t.name):i<0?1:r<0?-1:i-r})));return{oneOf:u.map((({$ref:e,name:i},a)=>{const l=getSchema({parser:t,schemaOrRef:{$ref:e},pointer:e,options:r,isChild:!0,baseRefsStack:s.slice(0,-1),deps:Object.assign(Object.assign({},n),{parentFieldFullPath:n.parentFieldFullPath?n.parentFieldFullPath+"/"+a:a.toString()}),absolutePointer:o.absolutePointer});return l.title=i,l})),discriminatorProp:l}}function initOneOf({schemaOneOf:e,parser:t,refsStack:i,pointer:r,schema:s,options:n,deps:o}){const a=e.map(((e,a)=>{const{resolved:l,refsStack:p}=t.deref(e,i,!0),d=t.mergeAllOf(l,r+"/oneOf/"+a,p),c=(0,utils_1.isNamedDefinition)(e.$ref)&&!d.title?utils_1.JsonPointer.baseName(e.$ref):`${d.title||""}${d.const&&JSON.stringify(d.const)||""}`;return getSchema({parser:t,schemaOrRef:Object.assign(Object.assign({},d),{title:c,allOf:[Object.assign(Object.assign({},s),{oneOf:void 0,anyOf:void 0})],discriminator:l.allOf?void 0:d.discriminator}),pointer:e.$ref||r+"/oneOf/"+a,options:n,baseRefsStack:p,deps:Object.assign(Object.assign({},o),{parentFieldFullPath:o.parentFieldFullPath?o.parentFieldFullPath+"/"+a:a.toString()})})}));let l;if(n.simpleOneOfTypeLabel){l=collectUniqueOneOfTypesDeep(s).join(" or ")}else l=a.map((e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(" or ")>-1&&(t=`(${t})`),t})).join(" or ");return{oneOf:a,displayType:l}}function initConditionalOperators({schema:e,parser:t,pointer:i,options:r,refsStack:s,deps:n}){const{if:o,else:a={},then:l={}}=e,p=__rest(e,["if","else","then"]);return{oneOf:[{allOf:[p,l,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 1"},{allOf:[p,a],title:a&&a["x-displayName"]||(null==a?void 0:a.title)||"case 2"}].map(((e,o)=>getSchema({parser:t,schemaOrRef:Object.assign({},e),pointer:i+"/oneOf/"+o,options:r,baseRefsStack:s,deps:Object.assign(Object.assign({},n),{parentFieldFullPath:n.parentFieldFullPath?n.parentFieldFullPath+"/"+o:o.toString()})}))),oneOfType:"One of"}}function normalizeField(e,t,i){return e||(console.warn(`Field "${t}" is invalid, skipping.\n Field must be an object but got ${typeof e} at "${i}"`),{})}function buildFields(e,t,i,r,s,n){const o=t.properties||t.prefixItems||t.items||{},a=t.patternProperties||{},l=t.additionalProperties||t.unevaluatedProperties,p=t.prefixItems?t.items:t.additionalItems,d=t.default||{};let c=Object.keys(o).map((a=>{var l;const p=normalizeField(o[a],a,i),c=void 0!==t.required&&t.required.indexOf(a)>-1;return(0,field_1.getField)(e,{name:t.properties?a:`[${a}]`,required:c,schema:Object.assign(Object.assign({},p),{example:(null===(l=t.example)||void 0===l?void 0:l[a])||p.example,default:void 0===p.default&&d?d[a]:p.default})},i+"/properties/"+a,r,n,s,utils_1.JsonPointer.join(t.absolutePointer||"",["properties",a]))}));return r.sortPropsAlphabetically&&(c=(0,utils_1.sortByField)(c,"name")),r.requiredPropsFirst&&(c=(0,utils_1.sortByRequired)(c,r.sortPropsAlphabetically?void 0:t.required)),c.push(...Object.keys(a).map((t=>{const o=normalizeField(a[t],t,i);return(0,field_1.getField)(e,{name:t,required:!1,schema:o,kind:"patternProperties"},`${i}/patternProperties/${t}`,r,n,s)}))),((0,utils_1.isObject)(l)||!0===l)&&c.push((0,field_1.getField)(e,{name:((0,utils_1.isObject)(l)&&l["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===l?{}:l,kind:"additionalProperties"},i+"/additionalProperties",r,n,s,utils_1.JsonPointer.join(t.absolutePointer||"",["additionalProperties"]))),c.push(...buildAdditionalItems({parser:e,schema:p,fieldsCount:c.length,$ref:i,options:r,refsStack:s,deps:n})),c}function buildAdditionalItems({parser:e,schema:t=!1,fieldsCount:i,$ref:r,options:s,refsStack:n,deps:o}){return"boolean"==typeof t?t?[(0,field_1.getField)(e,{name:`[${i}...]`,schema:{},kind:"additionalItems"},`${r}/additionalItems`,s,o,n)]:[]:Array.isArray(t)?[...t.map(((t,a)=>(0,field_1.getField)(e,{name:`[${i+a}]`,schema:t,kind:"additionalItems"},`${r}/additionalItems/${a}`,s,o,n)))]:(0,utils_1.isObject)(t)?[(0,field_1.getField)(e,{name:`[${i}...]`,schema:t,kind:"additionalItems"},`${r}/additionalItems`,s,o,n)]:[]}function getDiscriminator(e){return e.discriminator||e["x-discriminator"]}function collectUniqueOneOfTypesDeep(e){const t=new Set;return function e(i){for(const r of i.oneOf||[])r.oneOf?e(r):r.type&&t.add(r.type)}(e),Array.from(t.values())}function hasType(e,t){return e.type===t||Array.isArray(e.type)&&e.type.includes(t)}exports.getSchema=getSchema;
|
|
2
2
|
//# sourceMappingURL=schema.js.map
|
package/lib/models/security.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function getSecurityRequirement({requirement:e,parser:t}){const r=t.definition.components&&t.definition.components.securitySchemes||{};return{schemes:Object.keys(e||{}).map((i=>{const
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getSecuritySchemes=exports.getSecurityScheme=exports.getSecurityRequirement=void 0;const utils_1=require("../utils");function getSecurityRequirement({requirement:e,parser:t}){const r=t.definition.components&&t.definition.components.securitySchemes||{};return{schemes:Object.keys(e||{}).map((i=>{const n=t.deref(r[i]).resolved,c=e[i]||[];if(n)return Object.assign(Object.assign({},n),{id:i,sectionId:i,scopes:c});console.warn(`Non existing security scheme referenced: ${i}. Skipping`)})).filter(Boolean)}}function getSecurityScheme(e,t,r){if(!(null==e?void 0:e.deref))return{};const{resolved:i}=e.deref(r),n=t,c=i.type,s=(0,utils_1.getValueFromMdParsedExtension)(i,"description")||"";let o,u,m,p={};switch(i.type){case"apiKey":o={name:i.name,in:i.in};break;case"http":u={scheme:i.scheme,bearerFormat:i.bearerFormat};break;case"openIdConnect":m={connectUrl:i.openIdConnectUrl};break;case"oauth2":p=i.flows}return{id:t,sectionId:n,type:c,description:s,apiKey:o,http:u,flows:p,openId:m}}function getSecuritySchemes({parser:e}){var t,r;if(!e)return[];const i=(null===(r=null===(t=e.definition)||void 0===t?void 0:t.components)||void 0===r?void 0:r.securitySchemes)||{};return Object.keys(i).map((t=>getSecurityScheme(e,t,i[t])))}exports.getSecurityRequirement=getSecurityRequirement,exports.getSecurityScheme=getSecurityScheme,exports.getSecuritySchemes=getSecuritySchemes;
|
|
2
2
|
//# sourceMappingURL=security.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./Options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}preprocess(e){e.info&&this.options.hideInfoDescription
|
|
1
|
+
"use strict";var __rest=this&&this.__rest||function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r};Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;const utils_1=require("../utils"),JsonPointer_1=require("../utils/JsonPointer"),normalizeOptions_1=require("./Options/normalizeOptions");function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function concatRefStacks(e,t){return t?e.concat(t):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;class OpenAPIParser{constructor(e,t,r=(0,normalizeOptions_1.normalizeOptions)({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"definitionUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"definition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"allowMergeRefs",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"byRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;if(this.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=JsonPointer_1.JsonPointer.get(this.definition,e)}catch(e){}return t||{}}}}),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const i=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,i).href)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}preprocess(e){if(e.info&&this.options.hideInfoDescription)return e.info.description="",void(e.info["x-parsed-md-description"]=void 0)}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],r=!1){const i=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,i),this.isRef(e)){const i=(0,utils_1.getDefinitionName)(e.$ref);if(i&&this.options.ignoreNamedSchemas.has(i))return{resolved:{type:"object",title:i},refsStack:t};let n=this.byRef(e.$ref);if(!n)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let s=t;if(t.includes(e.$ref))n=Object.assign({},n,{"x-circular-ref":!0});else if(this.isRef(n)){const e=this.deref(n,t,r);s=e.refsStack,n=e.resolved}return s=pushRef(t,e.$ref),n=this.allowMergeRefs?this.mergeRefs(e,n,r):n,{resolved:n,refsStack:s}}return{resolved:e,refsStack:concatRefStacks(t,i)}}mergeRefs(e,t,r){const{$ref:i}=e,n=__rest(e,["$ref"]),s=Object.keys(n);if(0===s.length)return t;if(r&&s.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=n,{description:r,title:i,readOnly:s,writeOnly:o}=e;return{allOf:[{description:r,title:i,readOnly:s,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),n)}mergeAllOf(e,t,r,i=""){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return Object.assign({absolutePointer:i},e);let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],absolutePointer:JsonPointer_1.JsonPointer.join(i,["allOf"]),allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(t)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=Object.assign({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=Object.assign({},s.items));const o=e.allOf.map(((e,t)=>{var n;const{resolved:o,refsStack:a}=this.deref(e,r,!0),l=e.$ref,f=l||JsonPointer_1.JsonPointer.join(i,[String(t)]),c=this.mergeAllOf(o,l,a,f);if(!c["x-circular-ref"]||!c.allOf)return l&&(null===(n=s["x-parentRefs"])||void 0===n||n.push(...c["x-parentRefs"]||[],l)),{$ref:l,refsStack:pushRef(a,l),schema:c,absolutePointer:f}})).filter((e=>void 0!==e));for(const[e,{schema:r,refsStack:i,absolutePointer:a}]of o.entries()){const{type:o,enum:l,properties:f,items:c,required:p,title:d,description:O,readOnly:u,writeOnly:y,oneOf:b,anyOf:h,"x-circular-ref":m}=r,v=__rest(r,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type!==o&&void 0!==s.type&&void 0!==o&&console.warn(`Incompatible types in allOf at "${t}": "${s.type}" and "${o}"`),void 0!==o&&(Array.isArray(o)&&Array.isArray(s.type)?s.type=[...o,...s.type]:s.type=o),void 0!==l&&(Array.isArray(l)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...l,...s.enum])):s.enum=l),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const r in f){const o=concatRefStacks(i,null===(n=f[r])||void 0===n?void 0:n["x-refsStack"]);if(s.properties[r]){if(!m){const i=this.mergeAllOf({allOf:[s.properties[r],f[r]],"x-refsStack":o},t+"/properties/"+r,o,JsonPointer_1.JsonPointer.join(a,["allOf",String(e),"properties",r]));s.properties[r]=i}}else s.properties[r]=Object.assign(Object.assign({},f[r]),{absolutePointer:JsonPointer_1.JsonPointer.join(a,["properties",r]),"x-refsStack":o})}}if(void 0!==c&&!m){const e="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof r.items?{}:Object.assign({},r.items);s.items=this.mergeAllOf({allOf:[e,n]},t+"/items",i)}void 0!==b&&(s.oneOf=b),void 0!==h&&(s.anyOf=h),void 0!==p&&(s.required=[...s.required||[],...p]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||d,description:s.description||O,readOnly:void 0!==s.readOnly?s.readOnly:u,writeOnly:void 0!==s.writeOnly?s.writeOnly:y,"x-circular-ref":s["x-circular-ref"]||m}),v)}return s}findDerived(e){const t={},r=this.definition.components&&this.definition.components.schemas||{};for(const i in r){const{resolved:n}=this.deref(r[i]);void 0!==n.allOf&&n.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const r=t[e];if(Array.isArray(r.oneOf)){const i=t.slice(0,e),n=t.slice(e+1);return{oneOf:r.oneOf.map((e=>({allOf:[...i,e,...n]})))}}}return e}}exports.OpenAPIParser=OpenAPIParser;
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildContentItems=exports.buildMenuStructure=void 0;const tags_1=require("./tags"),markdown_1=require("./markdown"),utils_1=require("../../utils");function buildMenuStructure(t,e){const{definition:n}=t,s=[],i=[...n.tags||[]]||[];!i.find((t=>(null==t?void 0:t.name)===e.schemaDefinitionsTagName))&&e.schemaDefinitionsTagName&&i.push({name:e.schemaDefinitionsTagName});const u=(0,tags_1.getTagsWithOperations)(t,i),o=n["x-tagGroups"];return s.push(...(0,markdown_1.addMarkdownItems)(n.info
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.buildContentItems=exports.buildMenuStructure=void 0;const tags_1=require("./tags"),markdown_1=require("./markdown"),utils_1=require("../../utils");function buildMenuStructure(t,e){const{definition:n}=t,s=[],i=[...n.tags||[]]||[];!i.find((t=>(null==t?void 0:t.name)===e.schemaDefinitionsTagName))&&e.schemaDefinitionsTagName&&i.push({name:e.schemaDefinitionsTagName});const u=(0,tags_1.getTagsWithOperations)(t,i),o=n["x-tagGroups"];return s.push(...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(n.info,"description")||"",void 0,1,e.markdownHeadingsAnchorLevel,e.pagination)),o&&o.length>0?s.push(...(0,tags_1.getTagGroupsItems)(t,void 0,o,u,e)):s.push(...(0,tags_1.getTagsItems)(t,u,void 0,void 0,e)),s}function buildContentItems(t,e){const n=buildMenuStructure(t,e);return{contentItems:n,flatItems:(0,utils_1.flattenByProp)(n||[],"items")}}exports.buildMenuStructure=buildMenuStructure,exports.buildContentItems=buildContentItems;
|
|
2
2
|
//# sourceMappingURL=builder.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTagsWithOperations=exports.getTagGroupsItems=exports.getTagsItems=void 0;const models_1=require("../../models"),constants_1=require("../../constants"),utils_1=require("../../utils"),operation_1=require("./operation"),markdown_1=require("./markdown");function getTagsItems(e,t,n,o,s){let a;if(a=void 0===o?Object.keys(t):o.tags,!Array.isArray(a))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const i=a.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==o?void 0:o.name}"`),null))),r=[];for(const t of i){if(!t)continue;const o=(0,models_1.getGroup)("tag",t,{pagination:s.pagination,markdownHeadingsAnchorLevel:s.markdownHeadingsAnchorLevel},n);if(o.depth=constants_1.GROUP_DEPTH+1,""===t.name){const e=[...(0,markdown_1.addMarkdownItems)(t
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.getTagsWithOperations=exports.getTagGroupsItems=exports.getTagsItems=void 0;const models_1=require("../../models"),constants_1=require("../../constants"),utils_1=require("../../utils"),operation_1=require("./operation"),markdown_1=require("./markdown");function getTagsItems(e,t,n,o,s){let a;if(a=void 0===o?Object.keys(t):o.tags,!Array.isArray(a))return console.warn("Unexpected values of tags. Check tags or x-tagGroups in your definition."),[];const i=a.map((e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${null==o?void 0:o.name}"`),null))),r=[];for(const t of i){if(!t)continue;const o=(0,models_1.getGroup)("tag",t,{pagination:s.pagination,markdownHeadingsAnchorLevel:s.markdownHeadingsAnchorLevel},n);if(o.depth=constants_1.GROUP_DEPTH+1,""===t.name){const e=[...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",o,o.depth+1,s.markdownHeadingsAnchorLevel,s.pagination),...(0,operation_1.getOperationsItems)(void 0,t,o.depth+1,s)];r.push(...e);continue}const a=getTagRelatedSchema({definition:e.definition,tag:t,parent:o,schemaDefinitionsTagName:s.schemaDefinitionsTagName,options:{pagination:s.pagination,markdownHeadingsAnchorLevel:s.markdownHeadingsAnchorLevel}});o.items=[...a,...(0,markdown_1.addMarkdownItems)((0,utils_1.getValueFromMdParsedExtension)(t,"description")||"",o,o.depth+1,s.markdownHeadingsAnchorLevel,s.pagination),...(0,operation_1.getOperationsItems)(o,t,o.depth+1,s)],r.push(o)}return s.sortTagsAlphabetically&&r.sort((0,utils_1.alphabeticallyByProp)("name")),r}function getTagGroupsItems(e,t,n,o,s){const a=[];for(const i of n){const n=(0,models_1.getGroup)("group",i,{pagination:s.pagination,markdownHeadingsAnchorLevel:s.markdownHeadingsAnchorLevel},t);n.depth=constants_1.GROUP_DEPTH,n.items=getTagsItems(e,o,n,i,s),a.push(n)}return a}function getTagRelatedSchema({definition:e,tag:t,parent:n,schemaDefinitionsTagName:o,options:s}){var a;const i=o?[o]:[];return Object.entries((null===(a=e.components)||void 0===a?void 0:a.schemas)||{}).map((([e,o])=>{if(!(o["x-tags"]||i).includes(t.name))return null;const a=(0,models_1.getGroup)("schema",{name:e,"x-displayName":`${o.title||e}`,description:`{% schemaDefinition showWriteOnly="true" schemaRef="#/components/schemas/${e}" /%}`,isSchema:!0,level:2},s,n);return a.depth=n.depth+1,a})).filter(Boolean)}function getTagsWithOperations(e,t){const{definition:n}=e,o={},s=n["x-webhooks"]||n.webhooks;for(const e of t||[])o[e.name]=Object.assign(Object.assign({},e),{operations:[]});return n.paths&&getTags(e,n.paths,o),s&&getTags(e,s,o,!0),o}function getTags(e,t,n,o){for(const s of Object.keys(t||{})){const a=t[s],i=Object.keys(a).filter(utils_1.isOperationName);for(const t of i){const i=a[t];if(a.$ref){const{resolved:t}=e.deref(a);getTags(e,{[s]:t},n,o);continue}let r=null==i?void 0:i.tags;r&&r.length||(r=[""]);for(const e of r){let r=n[e];void 0===r&&(r={name:e,operations:[]},n[e]=r),r["x-traitTag"]||r.operations.push(Object.assign(Object.assign({},i),{pathName:s,pointer:utils_1.JsonPointer.compile(["paths",s,t]),httpVerb:t,pathParameters:a.parameters||[],pathServers:a.servers,isWebhook:!!o}))}}}}exports.getTagsItems=getTagsItems,exports.getTagGroupsItems=getTagGroupsItems,exports.getTagsWithOperations=getTagsWithOperations;
|
|
2
2
|
//# sourceMappingURL=tags.js.map
|
package/lib/types/open-api.d.ts
CHANGED
|
@@ -15,10 +15,10 @@ export interface OpenAPIDefinition {
|
|
|
15
15
|
tags: Array<string>;
|
|
16
16
|
}>;
|
|
17
17
|
}
|
|
18
|
-
export interface OpenAPIInfo {
|
|
18
|
+
export interface OpenAPIInfo extends ParsedDescriptionWithSummary {
|
|
19
19
|
title: string;
|
|
20
20
|
version: string;
|
|
21
|
-
description?: string
|
|
21
|
+
description?: string;
|
|
22
22
|
summary?: string;
|
|
23
23
|
termsOfService?: string;
|
|
24
24
|
contact?: OpenAPIContact;
|
|
@@ -31,31 +31,31 @@ export interface XLogo {
|
|
|
31
31
|
altText?: string;
|
|
32
32
|
href?: string;
|
|
33
33
|
}
|
|
34
|
-
export interface OpenAPIServer {
|
|
34
|
+
export interface OpenAPIServer extends ParsedDescription {
|
|
35
35
|
url: string;
|
|
36
|
-
description?: string
|
|
36
|
+
description?: string;
|
|
37
37
|
variables?: {
|
|
38
38
|
[name: string]: OpenAPIServerVariable;
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
export interface OpenAPIServerVariable {
|
|
41
|
+
export interface OpenAPIServerVariable extends ParsedDescription {
|
|
42
42
|
enum?: string[];
|
|
43
43
|
default: string;
|
|
44
|
-
description?: string
|
|
44
|
+
description?: string;
|
|
45
45
|
}
|
|
46
46
|
export interface OpenAPIPaths {
|
|
47
47
|
[path: string]: OpenAPIPath;
|
|
48
48
|
}
|
|
49
|
-
export interface OpenAPIRef {
|
|
49
|
+
export interface OpenAPIRef extends ParsedDescriptionWithSummary {
|
|
50
50
|
$ref: string;
|
|
51
51
|
'x-refsStack'?: string[];
|
|
52
52
|
summary?: string;
|
|
53
|
-
description?: string
|
|
53
|
+
description?: string;
|
|
54
54
|
}
|
|
55
55
|
export type Referenced<T> = T | OpenAPIRef;
|
|
56
|
-
export interface OpenAPIPath extends Partial<OpenAPIRef
|
|
56
|
+
export interface OpenAPIPath extends Partial<OpenAPIRef>, ParsedDescriptionWithSummary {
|
|
57
57
|
summary?: string;
|
|
58
|
-
description?: string
|
|
58
|
+
description?: string;
|
|
59
59
|
get?: OpenAPIOperation;
|
|
60
60
|
put?: OpenAPIOperation;
|
|
61
61
|
post?: OpenAPIOperation;
|
|
@@ -70,10 +70,10 @@ export interface OpenAPIPath extends Partial<OpenAPIRef> {
|
|
|
70
70
|
export interface OpenAPIXCodeSample extends Sample {
|
|
71
71
|
source: string;
|
|
72
72
|
}
|
|
73
|
-
export interface OpenAPIOperation {
|
|
73
|
+
export interface OpenAPIOperation extends ParsedDescriptionWithSummary {
|
|
74
74
|
tags?: string[];
|
|
75
|
-
summary?: string
|
|
76
|
-
description?: string
|
|
75
|
+
summary?: string;
|
|
76
|
+
description?: string;
|
|
77
77
|
externalDocs?: OpenAPIExternalDocumentation;
|
|
78
78
|
operationId?: string;
|
|
79
79
|
parameters?: Array<Referenced<OpenAPIParameter>>;
|
|
@@ -88,10 +88,10 @@ export interface OpenAPIOperation {
|
|
|
88
88
|
'x-codeSamples'?: OpenAPIXCodeSample[];
|
|
89
89
|
'x-code-samples'?: OpenAPIXCodeSample[];
|
|
90
90
|
}
|
|
91
|
-
export interface OpenAPIParameter {
|
|
91
|
+
export interface OpenAPIParameter extends ParsedDescription {
|
|
92
92
|
name: string;
|
|
93
93
|
in?: OpenAPIParameterLocation;
|
|
94
|
-
description?: string
|
|
94
|
+
description?: string;
|
|
95
95
|
required?: boolean;
|
|
96
96
|
deprecated?: boolean;
|
|
97
97
|
allowEmptyValue?: boolean;
|
|
@@ -109,13 +109,13 @@ export interface OpenAPIParameter {
|
|
|
109
109
|
encoding?: Record<string, OpenAPIEncoding>;
|
|
110
110
|
const?: any;
|
|
111
111
|
}
|
|
112
|
-
export interface OpenAPIExample {
|
|
112
|
+
export interface OpenAPIExample extends ParsedDescriptionWithSummary {
|
|
113
113
|
value: any;
|
|
114
114
|
summary?: string;
|
|
115
|
-
description?: string
|
|
115
|
+
description?: string;
|
|
116
116
|
externalValue?: string;
|
|
117
117
|
}
|
|
118
|
-
export interface OpenAPISchema {
|
|
118
|
+
export interface OpenAPISchema extends ParsedDescription {
|
|
119
119
|
$ref?: string;
|
|
120
120
|
type?: string | string[];
|
|
121
121
|
properties?: {
|
|
@@ -126,7 +126,7 @@ export interface OpenAPISchema {
|
|
|
126
126
|
};
|
|
127
127
|
additionalProperties?: boolean | OpenAPISchema;
|
|
128
128
|
unevaluatedProperties?: boolean | OpenAPISchema;
|
|
129
|
-
description?: string
|
|
129
|
+
description?: string;
|
|
130
130
|
default?: any;
|
|
131
131
|
items?: OpenAPISchema | OpenAPISchema[] | boolean;
|
|
132
132
|
required?: string[];
|
|
@@ -195,8 +195,8 @@ export interface OpenAPIEncoding {
|
|
|
195
195
|
}
|
|
196
196
|
export type OpenAPIParameterLocation = 'query' | 'header' | 'path' | 'cookie';
|
|
197
197
|
export type OpenAPIParameterStyle = 'matrix' | 'label' | 'form' | 'simple' | 'spaceDelimited' | 'pipeDelimited' | 'deepObject';
|
|
198
|
-
export interface OpenAPIRequestBody {
|
|
199
|
-
description?: string
|
|
198
|
+
export interface OpenAPIRequestBody extends ParsedDescription {
|
|
199
|
+
description?: string;
|
|
200
200
|
required?: boolean;
|
|
201
201
|
content: {
|
|
202
202
|
[mime: string]: OpenAPIMediaType;
|
|
@@ -213,8 +213,8 @@ export interface OpenAPIRequestBody {
|
|
|
213
213
|
export interface OpenAPIResponses {
|
|
214
214
|
[code: string]: OpenAPIResponse;
|
|
215
215
|
}
|
|
216
|
-
export interface OpenAPIResponse {
|
|
217
|
-
description?: string
|
|
216
|
+
export interface OpenAPIResponse extends ParsedDescription {
|
|
217
|
+
description?: string;
|
|
218
218
|
headers?: {
|
|
219
219
|
[name: string]: Referenced<OpenAPIHeader>;
|
|
220
220
|
};
|
|
@@ -272,9 +272,9 @@ export interface OpenAPIComponents {
|
|
|
272
272
|
export interface OpenAPISecurityRequirement {
|
|
273
273
|
[name: string]: string[];
|
|
274
274
|
}
|
|
275
|
-
export interface OpenAPISecurityScheme {
|
|
275
|
+
export interface OpenAPISecurityScheme extends ParsedDescription {
|
|
276
276
|
type: 'apiKey' | 'http' | 'oauth2' | 'openIdConnect';
|
|
277
|
-
description?: string
|
|
277
|
+
description?: string;
|
|
278
278
|
name?: string;
|
|
279
279
|
in?: 'query' | 'header' | 'cookie';
|
|
280
280
|
scheme?: string;
|
|
@@ -312,14 +312,14 @@ export interface OpenAPISecurityScheme {
|
|
|
312
312
|
};
|
|
313
313
|
openIdConnectUrl?: string;
|
|
314
314
|
}
|
|
315
|
-
export interface OpenAPITag {
|
|
315
|
+
export interface OpenAPITag extends ParsedDescription {
|
|
316
316
|
name: string;
|
|
317
|
-
description?: string
|
|
317
|
+
description?: string;
|
|
318
318
|
externalDocs?: OpenAPIExternalDocumentation;
|
|
319
319
|
'x-displayName'?: string;
|
|
320
320
|
}
|
|
321
|
-
export interface OpenAPIExternalDocumentation {
|
|
322
|
-
description?: string
|
|
321
|
+
export interface OpenAPIExternalDocumentation extends ParsedDescription {
|
|
322
|
+
description?: string;
|
|
323
323
|
url: string;
|
|
324
324
|
}
|
|
325
325
|
export interface OpenAPIContact {
|
|
@@ -335,3 +335,9 @@ export interface OpenAPILicense {
|
|
|
335
335
|
export interface ParsedDocument extends OpenAPIDefinition {
|
|
336
336
|
swagger: unknown;
|
|
337
337
|
}
|
|
338
|
+
export interface ParsedDescription {
|
|
339
|
+
'x-parsed-md-description'?: GenericObject;
|
|
340
|
+
}
|
|
341
|
+
export interface ParsedDescriptionWithSummary extends ParsedDescription {
|
|
342
|
+
'x-parsed-md-summary'?: GenericObject;
|
|
343
|
+
}
|
package/lib/utils/helpers.d.ts
CHANGED
|
@@ -49,4 +49,5 @@ export declare function joinStringFactory(separator: string): (...args: (string
|
|
|
49
49
|
export declare const dottedString: (...args: (string | undefined)[]) => string;
|
|
50
50
|
export declare function getWindowReferenceOptions<T>(option: string): T | null;
|
|
51
51
|
export declare function getJsUrl(): string;
|
|
52
|
-
export declare const normalizeText: (
|
|
52
|
+
export declare const normalizeText: (text?: string | GenericObject) => string;
|
|
53
|
+
export declare const getValueFromMdParsedExtension: (item: GenericObject, key: 'description' | 'summary' | 'x-summary' | 'x-enumDescriptions') => any;
|
package/lib/utils/helpers.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.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.safeSlugify=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const slugify_1=__importDefault(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer"),dom_1=require("./dom"),typeGuards_1=require("./typeGuards");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 mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(r)&&Object.keys(r).forEach((t=>{(0,exports.isMergeableObject)(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][media_css_1.ZERO_BREAKPOINT]||0===r[t][media_css_1.ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${media_css_1.ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[media_css_1.ZERO_BREAKPOINT]:e[t]}),(0,exports.mergeObjects)(e[t],r[t])):e[t]=r[t]})),(0,exports.mergeObjects)(e,...t))};exports.mergeObjects=mergeObjects;const isObject=e=>null!==e&&"object"==typeof e;exports.isObject=isObject;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,exports.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,exports.isObject)(e)&&!Array.isArray(e);function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}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 dom_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(!dom_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.safeSlugify=safeSlugify,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,typeGuards_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;
|
|
1
|
+
"use strict";var __importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),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.safeSlugify=exports.isMergeableObject=exports.deleteEmptyArrayItem=exports.isArrayOfObjects=exports.isObject=exports.mergeObjects=exports.appendToMdHeading=exports.isNumeric=exports.stripTrailingSlash=exports.flattenByProp=exports.mapValues=exports.mapWithLast=void 0;const slugify_1=__importDefault(require("slugify")),url_1=require("url"),media_css_1=require("./media-css"),openapi_1=require("./openapi"),JsonPointer_1=require("./JsonPointer"),dom_1=require("./dom"),typeGuards_1=require("./typeGuards");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 mergeObjects=(e,...t)=>{if(!t.length)return e;const r=t.shift();return void 0===r?e:((0,exports.isMergeableObject)(e)&&(0,exports.isMergeableObject)(r)&&Object.keys(r).forEach((t=>{(0,exports.isMergeableObject)(r[t])?(e[t]||(e[t]={}),["string","number"].includes(typeof e[t])&&(r[t][media_css_1.ZERO_BREAKPOINT]||0===r[t][media_css_1.ZERO_BREAKPOINT]||console.warn(`Theme resolver: using default value of "${e[t]}" for "${t}". This is not recommended. Prefer adding default value by providing "${media_css_1.ZERO_BREAKPOINT}" property to ${JSON.stringify(r[t])}.`),e[t]={[media_css_1.ZERO_BREAKPOINT]:e[t]}),(0,exports.mergeObjects)(e[t],r[t])):e[t]=r[t]})),(0,exports.mergeObjects)(e,...t))};exports.mergeObjects=mergeObjects;const isObject=e=>null!==e&&"object"==typeof e;exports.isObject=isObject;const isArrayOfObjects=e=>Array.isArray(e)&&e.some((e=>(0,exports.isObject)(e)));exports.isArrayOfObjects=isArrayOfObjects;const deleteEmptyArrayItem=e=>e.filter((e=>!!e));exports.deleteEmptyArrayItem=deleteEmptyArrayItem;const isMergeableObject=e=>(0,exports.isObject)(e)&&!Array.isArray(e);function safeSlugify(e){return(0,slugify_1.default)(e)||e.toString().toLowerCase().replace(/\s+/g,"-").replace(/&/g,"-and-").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")}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 dom_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(!dom_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.safeSlugify=safeSlugify,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,typeGuards_1.isString)(e)?e:null==e?void 0:e.raw;exports.normalizeText=normalizeText;const getValueFromMdParsedExtension=(e,t)=>e[`x-parsed-md-${t}`]||e[t];exports.getValueFromMdParsedExtension=getValueFromMdParsedExtension;
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
package/lib/utils/openapi.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { OpenAPIParameter } from '../types';
|
|
|
5
5
|
export declare function isStatusCode(statusCode: string): boolean;
|
|
6
6
|
export declare function getStatusCodeType(statusCode: string | number, defaultAsError?: boolean): string;
|
|
7
7
|
export declare function isOperationName(key: string): boolean;
|
|
8
|
-
export declare function getOperationName(
|
|
8
|
+
export declare function getOperationName(operation: ExtendedOpenAPIOperation): string;
|
|
9
9
|
export declare function getOperationId(operation: ExtendedOpenAPIOperation, parent?: GroupModel): string;
|
|
10
10
|
export declare function detectType(schema: OpenAPISchema): string;
|
|
11
11
|
export declare function isPrimitiveType(schema: OpenAPISchema, type?: string | string[] | undefined): boolean;
|
|
@@ -16,9 +16,7 @@ export declare function urlFormEncodePayload(payload: GenericObject, encoding?:
|
|
|
16
16
|
}): string;
|
|
17
17
|
export declare function serializeQueryParameter(name: string, style: OpenAPIParameterStyle | undefined, explode: boolean, value: unknown): string;
|
|
18
18
|
export declare function serializeParameterValueWithMime(value: unknown, mime: string): string;
|
|
19
|
-
export declare function serializeParameterValue(parameter:
|
|
20
|
-
serializationMime?: string;
|
|
21
|
-
}, value: unknown): string;
|
|
19
|
+
export declare function serializeParameterValue(parameter: FieldModel, value: unknown): string;
|
|
22
20
|
export declare function langFromMime(contentType: string): string;
|
|
23
21
|
export declare function isNamedDefinition(pointer?: string): boolean;
|
|
24
22
|
export declare function getDefinitionName(pointer?: string): string | undefined;
|
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.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")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer");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({operationId:e,description:r,summary:t,pathName:i}){const n=(0,helpers_1.normalizeText)(r);return(0,helpers_1.normalizeText)(t)||e||n&&n.substring(0,50)||i||"<no summary>"}function getOperationId(e,r){return(0,helpers_1.sanitizeItemId)(void 0!==e.operationId?"operation/"+e.operationId:void 0!==r?r.id+e.pointer:e.pointer)}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:a=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,a,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 a="";"label"===r?a=".":"matrix"===r&&(a=";");const o="__redoc_param_name__";return url_template_1.default.parse(`{${a}${o}${n}}`).expand({[o]: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:a}=e;if(a)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,a);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,a)}`;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,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${a?"( ":"[ "}${i} .. ${n}${o?" )":" ]"}`:void 0!==n?`${o?"< ":"<= "}${n}`:void 0!==i?`${a?"> ":">= "}${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("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);const o=humanizeNumberRange(e);return void 0!==o&&r.push(o),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 a={};t.forEach((r=>{({resolved:r}=e.deref(r)),a[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)),!a[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(!dom_1.IS_BROWSER)return"";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}))}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;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-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!0}}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.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")),dom_1=require("./dom"),helpers_1=require("./helpers"),constants_1=require("../constants"),JsonPointer_1=require("./JsonPointer");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){return(0,helpers_1.sanitizeItemId)(void 0!==e.operationId?"operation/"+e.operationId:void 0!==r?r.id+e.pointer:e.pointer)}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:a=!0}=r[t]||{};switch(n){case"form":return serializeFormValue(t,a,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 a="";"label"===r?a=".":"matrix"===r&&(a=";");const o="__redoc_param_name__";return url_template_1.default.parse(`{${a}${o}${n}}`).expand({[o]: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:a}=e;if(a)switch(e.in){case"path":case"header":return serializeParameterValueWithMime(r,a);case"cookie":case"query":return`${t}=${serializeParameterValueWithMime(r,a)}`;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,a="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,o="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==i&&void 0!==n?`${a?"( ":"[ "}${i} .. ${n}${o?" )":" ]"}`:void 0!==n?`${o?"< ":"<= "}${n}`:void 0!==i?`${a?"> ":">= "}${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("properties",e.minProperties,e.maxProperties);void 0!==n&&r.push(n);const a=humanizeMultipleOfConstraint(e.multipleOf);void 0!==a&&r.push(a);const o=humanizeNumberRange(e);return void 0!==o&&r.push(o),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 a={};t.forEach((r=>{({resolved:r}=e.deref(r)),a[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)),!a[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(!dom_1.IS_BROWSER)return"";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}))}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;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-hideTryItPanel":!0,"x-tokenEndpointAuthMethod":!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,2 +1,2 @@
|
|
|
1
|
-
import React from"react";import{useRecoilValue}from"recoil";import{SamplesMiddlePanel,Row,Section}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown,StyledMarkdownBlock}from"../Markdown";import{DownloadButtonWithLabel}from"../Download";import{RenderHook}from"../RenderHook";import{ApiHeader,InfoSpan,InfoSpanBox,InfoSpanBoxWrap}from"./styled";import{globalStoreSelector}from"../../recoil/store";import{saveTextBeforeHeading}from"../../utils/saveTextBeforeHeading";export function ApiInfo(){const{options:{markdownHeadingsAnchorLevel:e,hooks:t,hideDownloadButton:n},parser:{definition:o}}=useRecoilValue(globalStoreSelector),a=saveTextBeforeHeading((null==o?void 0:o.info
|
|
1
|
+
import React from"react";import{useRecoilValue}from"recoil";import{SamplesMiddlePanel,Row,Section}from"../common";import{ExternalDocumentation}from"../ExternalDocumentation";import{Markdown,StyledMarkdownBlock}from"../Markdown";import{DownloadButtonWithLabel}from"../Download";import{RenderHook}from"../RenderHook";import{ApiHeader,InfoSpan,InfoSpanBox,InfoSpanBoxWrap}from"./styled";import{globalStoreSelector}from"../../recoil/store";import{saveTextBeforeHeading}from"../../utils/saveTextBeforeHeading";import{getValueFromMdParsedExtension}from"../../utils/helpers";export function ApiInfo(){const{options:{markdownHeadingsAnchorLevel:e,hooks:t,hideDownloadButton:n},parser:{definition:o}}=useRecoilValue(globalStoreSelector),a=saveTextBeforeHeading(getValueFromMdParsedExtension(null==o?void 0:o.info,"description")||"",e),l=getValueFromMdParsedExtension(null==o?void 0:o.info,"summary")||void 0,r=null==o?void 0:o.info,c=null==o?void 0:o.externalDocs;if(!r)return null;const i=r.license&&React.createElement(InfoSpan,null,"License:"," ",r.license.identifier?r.license.identifier:React.createElement("a",{href:r.license.url},r.license.name))||null,m=r.contact&&r.contact.url&&React.createElement(InfoSpan,null,"URL: ",React.createElement("a",{href:r.contact.url},r.contact.url))||null,d=r.contact&&r.contact.email&&React.createElement(InfoSpan,null,r.contact.name||"E-mail",":"," ",React.createElement("a",{href:"mailto:"+r.contact.email},r.contact.email))||null,s=r.termsOfService&&React.createElement(InfoSpan,null,React.createElement("a",{href:r.termsOfService},"Terms of Service"))||null,u=r.version&&React.createElement("span",null,"(",r.version,")")||null;return React.createElement(Section,null,React.createElement(Row,null,React.createElement(SamplesMiddlePanel,{className:"api-info"},React.createElement(ApiHeader,null,r.title," ",u),React.createElement(RenderHook,{Hook:null==t?void 0:t.AfterApiTitle,props:{info:r}}),!n&&React.createElement(DownloadButtonWithLabel,{wrapped:!0}),React.createElement(StyledMarkdownBlock,null,(r.license||r.contact||r.termsOfService)&&React.createElement(InfoSpanBoxWrap,null,React.createElement(InfoSpanBox,null,d," ",m," ",i," ",s))||null),l&&React.createElement(Markdown,{source:l,"data-role":"redoc-summary"}),a&&React.createElement(Markdown,{source:a,"data-role":"redoc-description"}),c&&React.createElement(ExternalDocumentation,{externalDocs:c}))))}
|
|
2
2
|
//# sourceMappingURL=ApiInfo.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as urlResolve}from"url";import{isJsonLike}from"../utils";const ExternalExamplesCache={};export function getExternalExampleValue(e,r){return r?(r in ExternalExamplesCache||(ExternalExamplesCache[r]=fetch(r).then((r=>r.text().then((t=>{if(!r.ok)return Promise.reject(new Error(t));if(!isJsonLike(e))return t;try{return JSON.parse(t)}catch(e){return t}}))))),ExternalExamplesCache[r]):Promise.resolve(void 0)}export function getExamples({parser:e,infoOrRef:r,mime:t,encoding:n}){let
|
|
1
|
+
import{resolve as urlResolve}from"url";import{getValueFromMdParsedExtension,isJsonLike}from"../utils";const ExternalExamplesCache={};export function getExternalExampleValue(e,r){return r?(r in ExternalExamplesCache||(ExternalExamplesCache[r]=fetch(r).then((r=>r.text().then((t=>{if(!r.ok)return Promise.reject(new Error(t));if(!isJsonLike(e))return t;try{return JSON.parse(t)}catch(e){return t}}))))),ExternalExamplesCache[r]):Promise.resolve(void 0)}export function getExamples({parser:e,infoOrRef:r,mime:t,encoding:n}){let a;const{resolved:l}=e.deref(r),o=l.value,s=l.value,i=getValueFromMdParsedExtension(l,"summary"),u=getValueFromMdParsedExtension(l,"description");return l.externalValue&&(a=urlResolve(e.definitionUrl||"",l.externalValue)),{value:s,rawValue:o,externalValueUrl:a,summary:i,description:u,mime:t,encoding:n}}
|
|
2
2
|
//# sourceMappingURL=example.js.map
|
package/lib-esm/models/field.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{extractExtensions,mapValues}from"../utils";import{getSchema}from"./schema";import{getExamples}from"./example";const DEFAULT_SERIALIZATION={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};export function getField(e,o,l,
|
|
1
|
+
import{extractExtensions,getValueFromMdParsedExtension,mapValues}from"../utils";import{getSchema}from"./schema";import{getExamples}from"./example";const DEFAULT_SERIALIZATION={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};export function getField(e,o,t,l,i,n,s=t){var d,a,r,p,m,c,x;const{resolved:u}=e.deref(o),v=o.kind||"field",f=o.name||u.name,h=u.in,E=!!u.required;let g,F,y=u.schema,O="";if(!y&&u.in&&u.content){O=Object.keys(u.content)[0];const o=u.content[O];y=o&&(null==o?void 0:o.example)?Object.assign(Object.assign({},e.deref(o.schema,n,!0).resolved),{example:u.example||o.example}):o.schema}const A=(null==i?void 0:i.parentFieldFullPath)?i.parentFieldFullPath+"/"+f:f,I=getSchema({parser:e,schemaOrRef:y||{},pointer:t,options:l,baseRefsStack:n,absolutePointer:o.$ref||(null===(d=u.schema)||void 0===d?void 0:d.absolutePointer)||s,deps:Object.assign(Object.assign({},i),{parentFieldFullPath:A,in:h})}),P=void 0===u.description?getValueFromMdParsedExtension(I,"description")||"":getValueFromMdParsedExtension(u,"description"),b=u.example||I.example,L=u.examples||(null===(r=null===(a=u.content)||void 0===a?void 0:a[O])||void 0===r?void 0:r.examples),R=L?mapValues(L,((o,t)=>getExamples({parser:e,infoOrRef:o,mime:t,encoding:u.encoding}))):void 0;O?g=O:u.style?F=u.style:h&&(F=null!==(m=null===(p=DEFAULT_SERIALIZATION[h])||void 0===p?void 0:p.style)&&void 0!==m?m:"form");const S=void 0===u.explode&&h?null===(x=null===(c=DEFAULT_SERIALIZATION[h])||void 0===c?void 0:c.explode)||void 0===x||x:!!u.explode;return{deps:i||{},schema:I,name:f,required:E,description:P,example:b,examples:R,deprecated:void 0===u.deprecated?I.deprecated:u.deprecated,in:h,kind:v,extensions:l.showExtensions?extractExtensions(u,l.showExtensions):void 0,explode:S,style:F,const:(null==I?void 0:I.const)||(null==u?void 0:u.const)||"",serializationMime:g,fieldFullPath:A}}
|
|
2
2
|
//# sourceMappingURL=field.js.map
|
package/lib-esm/models/group.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:a},r){const n=t.id||e+"/"+safeSlugify(t.name),o=t["x-displayName"]||t.name,s=t.level||1,m=t.isSchema,
|
|
1
|
+
import{getValueFromMdParsedExtension,safeSlugify}from"../utils";import{getHref}from"../services/menu/operation";import{saveTextBeforeHeading}from"../utils/saveTextBeforeHeading";export function getGroup(e,t,{pagination:i,markdownHeadingsAnchorLevel:a},r){const n=t.id||e+"/"+safeSlugify(t.name),o=t["x-displayName"]||t.name,s=t.level||1,m=t.isSchema,d=t.ast||void 0;return{id:n,type:e,parent:r,name:o,level:s,depth:0,isSchema:m,description:saveTextBeforeHeading(getValueFromMdParsedExtension(t,"description")||"",a),items:t.items,ast:d,externalDocs:t.externalDocs,href:getHref({id:n,parent:r,type:e},i)}}
|
|
2
2
|
//# sourceMappingURL=group.js.map
|