@redocly/reference-docs 2.45.1 → 2.45.3
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/bin/cli/commands/redocly-docs-cli.min.js +1 -1
- package/bin/cli/commands/redocly-docs-cli.min.js.LICENSE.txt +1 -1
- package/dist/console.redocly-reference-docs.min.js +1 -1
- package/dist/oauth2-redirect.js +1 -1
- package/dist/redocly-reference-docs.min.js +290 -290
- package/lib/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib/redoc-lib/src/types/open-api.d.ts +1 -0
- package/lib-browser/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib-browser/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-browser/redoc-lib/src/types/open-api.d.ts +1 -0
- package/lib-esm/redoc-lib/src/services/OpenAPIParser.js +1 -1
- package/lib-esm/redoc-lib/src/services/models/Operation.js +1 -1
- package/lib-esm/redoc-lib/src/types/open-api.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;var tslib_1=require("tslib"),utils_1=require("../utils/"),JsonPointer_1=require("../utils/JsonPointer"),RedocNormalizedOptions_1=require("./RedocNormalizedOptions");function pushRef(e,r){return r&&e[e.length-1]!==r?(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],e,!0),[r],!1):e}function concatRefStacks(e,r){return r?e.concat(r):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;var OpenAPIParser=function(){function e(e,r,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OpenAPIParser=exports.concatRefStacks=exports.pushRef=void 0;var tslib_1=require("tslib"),utils_1=require("../utils/"),JsonPointer_1=require("../utils/JsonPointer"),RedocNormalizedOptions_1=require("./RedocNormalizedOptions");function pushRef(e,r){return r&&e[e.length-1]!==r?(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],e,!0),[r],!1):e}function concatRefStacks(e,r){return r?e.concat(r):e}exports.pushRef=pushRef,exports.concatRefStacks=concatRefStacks;var OpenAPIParser=function(){function e(e,r,t){var i=this;void 0===t&&(t=new RedocNormalizedOptions_1.RedocNormalizedOptions({})),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),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:function(e){var r;if(i.definition){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{r=JsonPointer_1.JsonPointer.get(i.definition,e)}catch(e){}return r||{}}}}),this.validate(e),this.preprocess(e),this.definition=e,this.allowMergeRefs=e.openapi.startsWith("3.1");var n=utils_1.IS_BROWSER?window.location.href:"";"string"==typeof r&&(this.definitionUrl=new URL(r,n).href)}return Object.defineProperty(e.prototype,"validate",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}}),Object.defineProperty(e.prototype,"preprocess",{enumerable:!1,configurable:!0,writable:!0,value:function(e){e.info&&this.options.hideInfoDescription&&(e.info.description="")}}),Object.defineProperty(e.prototype,"isRef",{enumerable:!1,configurable:!0,writable:!0,value:function(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}}),Object.defineProperty(e.prototype,"deref",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t){void 0===r&&(r=[]),void 0===t&&(t=!1);var i=null==e?void 0:e["x-refsStack"];if(r=concatRefStacks(r,i),this.isRef(e)){var n=(0,utils_1.getDefinitionName)(e.$ref);if(n&&this.options.ignoreNamedSchemas.has(n))return{resolved:{type:"object",title:n},refsStack:r};var s=this.byRef(e.$ref);if(!s)throw new Error('Failed to resolve $ref "'+e.$ref+'"');var a=r;if(r.includes(e.$ref))s=Object.assign({},s,{"x-circular-ref":!0});else if(this.isRef(s)){var o=this.deref(s,r,t);a=o.refsStack,s=o.resolved}return a=pushRef(r,e.$ref),{resolved:s=this.allowMergeRefs?this.mergeRefs(e,s,t):s,refsStack:a}}return{resolved:e,refsStack:concatRefStacks(r,i)}}}),Object.defineProperty(e.prototype,"mergeRefs",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t){e.$ref;var i=(0,tslib_1.__rest)(e,["$ref"]),n=Object.keys(i);if(0===n.length)return r;if(t&&n.some((function(e){return!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)}))){var s=i;return{allOf:[{description:s.description,title:s.title,readOnly:s.readOnly,writeOnly:s.writeOnly},r,(0,tslib_1.__rest)(s,["description","title","readOnly","writeOnly"])]}}return(0,tslib_1.__assign)((0,tslib_1.__assign)({},r),i)}}),Object.defineProperty(e.prototype,"mergeAllOf",{enumerable:!1,configurable:!0,writable:!0,value:function(e,r,t){var i,n=this;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return e;var s=(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{"x-parentRefs":[],allOf:void 0,title:e.title||(0,utils_1.getDefinitionName)(r)});void 0!==s.properties&&"object"==typeof s.properties&&(s.properties=(0,tslib_1.__assign)({},s.properties)),void 0!==s.items&&"object"==typeof s.items&&(s.items=(0,tslib_1.__assign)({},s.items));for(var a=e.allOf.map((function(e){var r,i=n.deref(e,t,!0),a=i.resolved,o=i.refsStack,l=e.$ref||void 0,f=n.mergeAllOf(a,l,o);if(!f["x-circular-ref"]||!f.allOf)return l&&(null===(r=s["x-parentRefs"])||void 0===r||r.push.apply(r,(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],f["x-parentRefs"]||[],!1),[l],!1))),{$ref:l,refsStack:pushRef(o,l),schema:f}})).filter((function(e){return void 0!==e})),o=0,l=a;o<l.length;o++){var f=l[o],c=f.schema,p=f.refsStack,u=c.type,d=c.enum,b=c.properties,_=c.items,y=c.required,v=c.title,O=c.description,m=c.readOnly,h=c.writeOnly,g=c.oneOf,w=c.anyOf,A=c["x-circular-ref"],R=(0,tslib_1.__rest)(c,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type!==u&&void 0!==s.type&&void 0!==u&&console.warn('Incompatible types in allOf at "'+r+'": "'+s.type+'" and "'+u+'"'),void 0!==u&&(Array.isArray(u)&&Array.isArray(s.type)?s.type=(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],u,!0),s.type,!0):s.type=u),void 0!==d&&(Array.isArray(d)&&Array.isArray(s.enum)?s.enum=Array.from(new Set((0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],d,!0),s.enum,!0))):s.enum=d),void 0!==b&&"object"==typeof b)for(var P in s.properties=s.properties||{},b){var x=concatRefStacks(p,null===(i=b[P])||void 0===i?void 0:i["x-refsStack"]);if(s.properties[P]){if(!A){var j=this.mergeAllOf({allOf:[s.properties[P],b[P]],"x-refsStack":x},r+"/properties/"+P,x);s.properties[P]=j}}else s.properties[P]=(0,tslib_1.__assign)((0,tslib_1.__assign)({},b[P]),{"x-refsStack":x})}if(void 0!==_&&!A){var S="boolean"==typeof s.items?{}:Object.assign({},s.items),k="boolean"==typeof c.items?{}:Object.assign({},c.items);s.items=this.mergeAllOf({allOf:[S,k]},r+"/items",p)}void 0!==g&&(s.oneOf=g),void 0!==w&&(s.anyOf=w),void 0!==y&&(s.required=(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],s.required||[],!0),y,!0)),s=(0,tslib_1.__assign)((0,tslib_1.__assign)((0,tslib_1.__assign)({},s),{title:s.title||v,description:s.description||O,readOnly:void 0!==s.readOnly?s.readOnly:m,writeOnly:void 0!==s.writeOnly?s.writeOnly:h,"x-circular-ref":s["x-circular-ref"]||A}),R)}return s}}),Object.defineProperty(e.prototype,"findDerived",{enumerable:!1,configurable:!0,writable:!0,value:function(e){var r={},t=this.definition.components&&this.definition.components.schemas||{};for(var i in t){var n=this.deref(t[i]).resolved;void 0!==n.allOf&&n.allOf.find((function(r){return void 0!==r.$ref&&e.indexOf(r.$ref)>-1}))&&(r["#/components/schemas/"+i]=[n["x-discriminator-value"]||i])}return r}}),Object.defineProperty(e.prototype,"hoistOneOfs",{enumerable:!1,configurable:!0,writable:!0,value:function(e){if(void 0===e.allOf)return e;for(var r=e.allOf,t=function(e){var t=r[e],i=t.oneOf,n=(0,tslib_1.__rest)(t,["oneOf"]);if(!i)return"continue";if(Array.isArray(i)){var s=r.slice(0,e),a=r.slice(e+1),o=Object.keys(n).length>0?[n]:[];return{value:{oneOf:i.map((function(e){return{allOf:(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],s,!0),o,!0),[e],!1),a,!0)}}))}}}},i=0;i<r.length;i++){var n=t(i);if("object"==typeof n)return n.value}return e}}),e}();exports.OpenAPIParser=OpenAPIParser;
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationModel=exports.isPayloadSample=void 0;var tslib_1=require("tslib"),mobx_1=require("mobx"),utils_1=require("../../utils"),generator_1=require("../../../../services/code-samples/generator"),utils_2=require("../../../../components/console/utils"),Callback_1=require("./Callback"),Field_1=require("./Field"),RequestBody_1=require("./RequestBody"),Response_1=require("./Response"),SecurityRequirement_1=require("./SecurityRequirement");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;var isCodeSamplesWarningPrinted=!1,OperationModel=function(){function e(e,t,i,r,o){var a,n;void 0===o&&(o=!1),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,mobx_1.makeObservable)(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(0,utils_1.getOperationSummary)(t),this.defaultExampleName=t.defaultSampleName;var l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,s=(l||[])[0],u=Object.keys((null==s?void 0:s.examples)||[])[0];this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||u),this.defaultMimeType=t.defaultMimeType;var p=null==l?void 0:l.find((function(e){return e.name===t.defaultMimeType}));if(this.activeMimeName=(null==p?void 0:p.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)})),this.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[]);else{this.id=(0,utils_1.sanitizeItemId)(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)}));var d=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],r.mockServer);this.servers=(0,utils_1.normalizeServers)(e.definitionUrl,d)}r.showExtensions&&(this.extensions=(0,utils_1.extractExtensions)(t,r.showExtensions)),this.activeServer=(0,utils_2.getInitialServerWithVariables)(this.servers);var b=this.operationDefinition["x-examples"];this.examples=b&&b[Object.keys(b)[0]]}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),Object.defineProperty(e.prototype,"toggle",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!this.expanded}}),Object.defineProperty(e.prototype,"activateMimeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeMimeName=e}}),Object.defineProperty(e.prototype,"activateExampleName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeExampleName=e}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationDefinition.requestBody&&new RequestBody_1.RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"payload",{get:function(){var e,t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasSamples",{get:function(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"definitionSamples",{get:function(){var e,t,i,r,o,a,n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){var l=this.parser.deref(this.operationDefinition.requestBody).resolved,s=Object.keys((null==l?void 0:l.content)||{})[0],u=(null===(e=l["x-examples"])||void 0===e?void 0:e[s])||(null===(i=null===(t=null==l?void 0:l.content)||void 0===t?void 0:t[s])||void 0===i?void 0:i.examples)||{},p=Object.keys(u)[0];if(null===(r=u[p])||void 0===r?void 0:r["x-codeSamples"])return u[p]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=u[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=u[p])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}if(!n&&this.operationDefinition.parameters){s=Object.keys(this.operationDefinition["x-examples"]||{})[0];var d=(null===(o=this.operationDefinition["x-examples"])||void 0===o?void 0:o[s])||{},b=Object.keys(d)[0];if(null===(a=d[b])||void 0===a?void 0:a["x-codeSamples"])return d[b]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=d[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=d[b])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}return n||[]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allCodeSamples",{get:function(){var e,t=this.options,i=t.payloadSampleIdx,r=t.hideRequestPayloadSample,o=[];if(!this.isWebhook){var a=this.options.generateCodeSamples||{},n=new Set(this.definitionSamples.map((function(e){return e.lang.toLowerCase()}))),l=(null===(e=a.languages)||void 0===e?void 0:e.filter((function(e){var t=e.lang;return!n.has(t.toLowerCase())})))||[];o=this.generateCodeSamples(l,a)}var s=this.definitionSamples.concat(o),u=Math.min(s.length,i);return this.payload&&!r&&s.splice(u,0,this.payload),s},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=(0,utils_1.mergeParams)(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((function(t){return new Field_1.FieldModel(e.parser,t,e.pointer,e.options,void 0,{operation:e,type:"request"})}));return this.options.sortPropsAlphabetically?(0,utils_1.sortByField)(t,"name"):this.options.requiredPropsFirst?(0,utils_1.sortByRequired)(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationDefinition.responses||[]).filter((function(e){return"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e))})).map((function(i){return new Response_1.ResponseModel({parser:e.parser,code:i,defaultAsError:t,infoOrRef:e.operationDefinition.responses[i],options:e.options,isEvent:e.isEvent,operation:e})}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationDefinition.callbacks||[]).map((function(t){var i;return new Callback_1.CallbackModel(e.parser,t,null===(i=e.operationDefinition.callbacks)||void 0===i?void 0:i[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hideTryItPanel",{get:function(){return!0===this.operationDefinition["x-hideTryItPanel"]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setActiveServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeServer=e}}),Object.defineProperty(e.prototype,"setRequestValues",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.requestValues=e}}),Object.defineProperty(e.prototype,"mergeInMockServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){if(!t)return e;var i={url:t.url,description:t.description};switch(t.position){case"first":return(0,tslib_1.__spreadArray)([i],e,!0);case"last":return(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],e,!0),[i],!1);case"replace":return[i];default:return e}}}),Object.defineProperty(e.prototype,"generateCodeSamples",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this,r=t.skipOptionalParameters,o=t.withOAuth2Call;return e.map((function(e){var t=e.lang,a=e.label,n=e.options;return{lang:t,label:a,get:function(e){return(0,generator_1.getCodeSample)((0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{lang:t,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{skipOptionalParameters:r,withOAuth2Call:o,spec:i.parser.definition,generatedPayloadSamplesMaxDepth:i.options.generatedPayloadSamplesMaxDepth})}))}}}))}}),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"ready",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"active",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"expanded",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeMimeName",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeExampleName",void 0),(0,tslib_1.__decorate)([mobx_1.observable.ref],e.prototype,"activeServer",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"requestValues",void 0),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"deactivate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"toggle",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateMimeName",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateExampleName",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"requestBody",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"payload",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hasSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"definitionSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"allCodeSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"parameters",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"responses",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"callbacks",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hideTryItPanel",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setActiveServer",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setRequestValues",null),e}();exports.OperationModel=OperationModel;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.OperationModel=exports.isPayloadSample=void 0;var tslib_1=require("tslib"),mobx_1=require("mobx"),utils_1=require("../../utils"),generator_1=require("../../../../services/code-samples/generator"),utils_2=require("../../../../components/console/utils"),helpers_1=require("../../../../services/history/helpers"),Callback_1=require("./Callback"),Field_1=require("./Field"),RequestBody_1=require("./RequestBody"),Response_1=require("./Response"),SecurityRequirement_1=require("./SecurityRequirement");function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}exports.isPayloadSample=isPayloadSample;var isCodeSamplesWarningPrinted=!1,OperationModel=function(){function e(e,t,i,r,o){var a,n;void 0===o&&(o=!1),Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,mobx_1.makeObservable)(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=o,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(0,utils_1.getOperationSummary)(t),this.defaultExampleName=t.defaultSampleName;var l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,s=(l||[])[0],u=Object.keys((null==s?void 0:s.examples)||[])[0];this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||u),this.defaultMimeType=t.defaultMimeType;var p=null==l?void 0:l.find((function(e){return e.name===t.defaultMimeType}));if(this.activeMimeName=(null==p?void 0:p.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)})),this.servers=(0,utils_1.normalizeServers)("",t.servers||t.pathServers||[]);else{this.id=(0,utils_1.sanitizeItemId)(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((function(t){return new SecurityRequirement_1.SecurityRequirementModel(t,e)}));var d=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],r.mockServer,this.parser.definition.basePath);this.servers=(0,utils_1.normalizeServers)(e.definitionUrl,d)}r.showExtensions&&(this.extensions=(0,utils_1.extractExtensions)(t,r.showExtensions)),this.activeServer=(0,utils_2.getInitialServerWithVariables)(this.servers);var b=this.operationDefinition["x-examples"];this.examples=b&&b[Object.keys(b)[0]]}return Object.defineProperty(e.prototype,"activate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!0}}),Object.defineProperty(e.prototype,"deactivate",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.active=!1}}),Object.defineProperty(e.prototype,"toggle",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.expanded=!this.expanded}}),Object.defineProperty(e.prototype,"activateMimeName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeMimeName=e}}),Object.defineProperty(e.prototype,"activateExampleName",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeExampleName=e}}),Object.defineProperty(e.prototype,"expand",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.parent&&this.parent.expand()}}),Object.defineProperty(e.prototype,"collapse",{enumerable:!1,configurable:!0,writable:!0,value:function(){}}),Object.defineProperty(e.prototype,"requestBody",{get:function(){return this.operationDefinition.requestBody&&new RequestBody_1.RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"payload",{get:function(){var e,t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hasSamples",{get:function(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"definitionSamples",{get:function(){var e,t,i,r,o,a,n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){var l=this.parser.deref(this.operationDefinition.requestBody).resolved,s=Object.keys((null==l?void 0:l.content)||{})[0],u=(null===(e=l["x-examples"])||void 0===e?void 0:e[s])||(null===(i=null===(t=null==l?void 0:l.content)||void 0===t?void 0:t[s])||void 0===i?void 0:i.examples)||{},p=Object.keys(u)[0];if(null===(r=u[p])||void 0===r?void 0:r["x-codeSamples"])return u[p]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=u[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=u[p])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}if(!n&&this.operationDefinition.parameters){s=Object.keys(this.operationDefinition["x-examples"]||{})[0];var d=(null===(o=this.operationDefinition["x-examples"])||void 0===o?void 0:o[s])||{},b=Object.keys(d)[0];if(null===(a=d[b])||void 0===a?void 0:a["x-codeSamples"])return d[b]["x-codeSamples"].map((function(e,t){return(0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{source:void 0,get:function(e){var i,r,o,a=e.exampleName;return null!==(r=null===(i=d[a])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==r?r:null===(o=d[b])||void 0===o?void 0:o["x-codeSamples"][t].source}})}))}return n||[]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"allCodeSamples",{get:function(){var e,t=this.options,i=t.payloadSampleIdx,r=t.hideRequestPayloadSample,o=[];if(!this.isWebhook){var a=this.options.generateCodeSamples||{},n=new Set(this.definitionSamples.map((function(e){return e.lang.toLowerCase()}))),l=(null===(e=a.languages)||void 0===e?void 0:e.filter((function(e){var t=e.lang;return!n.has(t.toLowerCase())})))||[];o=this.generateCodeSamples(l,a)}var s=this.definitionSamples.concat(o),u=Math.min(s.length,i);return this.payload&&!r&&s.splice(u,0,this.payload),s},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parameters",{get:function(){var e=this,t=(0,utils_1.mergeParams)(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((function(t){return new Field_1.FieldModel(e.parser,t,e.pointer,e.options,void 0,{operation:e,type:"request"})}));return this.options.sortPropsAlphabetically?(0,utils_1.sortByField)(t,"name"):this.options.requiredPropsFirst?(0,utils_1.sortByRequired)(t):t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"responses",{get:function(){var e=this,t=!1;return Object.keys(this.operationDefinition.responses||[]).filter((function(e){return"default"===e||("success"===(0,utils_1.getStatusCodeType)(e)&&(t=!0),(0,utils_1.isStatusCode)(e))})).map((function(i){return new Response_1.ResponseModel({parser:e.parser,code:i,defaultAsError:t,infoOrRef:e.operationDefinition.responses[i],options:e.options,isEvent:e.isEvent,operation:e})}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"callbacks",{get:function(){var e=this;return Object.keys(this.operationDefinition.callbacks||[]).map((function(t){var i;return new Callback_1.CallbackModel(e.parser,t,null===(i=e.operationDefinition.callbacks)||void 0===i?void 0:i[t],e.pointer,e.options)}))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"hideTryItPanel",{get:function(){return!0===this.operationDefinition["x-hideTryItPanel"]},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"setActiveServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.activeServer=e}}),Object.defineProperty(e.prototype,"setRequestValues",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.requestValues=e}}),Object.defineProperty(e.prototype,"mergeInMockServer",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,i){if(!t)return e;var r={url:i?(0,helpers_1.joinWithSeparator)(t.url,i):t.url,description:t.description};switch(t.position){case"first":return(0,tslib_1.__spreadArray)([r],e,!0);case"last":return(0,tslib_1.__spreadArray)((0,tslib_1.__spreadArray)([],e,!0),[r],!1);case"replace":return[r];default:return e}}}),Object.defineProperty(e.prototype,"generateCodeSamples",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){var i=this,r=t.skipOptionalParameters,o=t.withOAuth2Call;return e.map((function(e){var t=e.lang,a=e.label,n=e.options;return{lang:t,label:a,get:function(e){return(0,generator_1.getCodeSample)((0,tslib_1.__assign)((0,tslib_1.__assign)({},e),{lang:t,options:(0,tslib_1.__assign)((0,tslib_1.__assign)({},n),{skipOptionalParameters:r,withOAuth2Call:o,spec:i.parser.definition,generatedPayloadSamplesMaxDepth:i.options.generatedPayloadSamplesMaxDepth})}))}}}))}}),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"ready",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"active",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"expanded",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeMimeName",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"activeExampleName",void 0),(0,tslib_1.__decorate)([mobx_1.observable.ref],e.prototype,"activeServer",void 0),(0,tslib_1.__decorate)([mobx_1.observable],e.prototype,"requestValues",void 0),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"deactivate",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"toggle",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateMimeName",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"activateExampleName",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"requestBody",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"payload",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hasSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"definitionSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"allCodeSamples",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"parameters",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"responses",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"callbacks",null),(0,tslib_1.__decorate)([utils_1.memoize],e.prototype,"hideTryItPanel",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setActiveServer",null),(0,tslib_1.__decorate)([mobx_1.action],e.prototype,"setRequestValues",null),e}();exports.OperationModel=OperationModel;
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -8,6 +8,7 @@ export interface OpenAPIDefinition {
|
|
|
8
8
|
components?: OpenAPIComponents;
|
|
9
9
|
security?: OpenAPISecurityRequirement[];
|
|
10
10
|
tags?: OpenAPITag[];
|
|
11
|
+
basePath?: string;
|
|
11
12
|
externalDocs?: OpenAPIExternalDocumentation;
|
|
12
13
|
'x-webhooks'?: OpenAPIPaths;
|
|
13
14
|
webhooks?: OpenAPIPaths;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest}from"tslib";import{IS_BROWSER,getDefinitionName}from"../utils/";import{JsonPointer}from"../utils/JsonPointer";import{RedocNormalizedOptions}from"./RedocNormalizedOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=new RedocNormalizedOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),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.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 r=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,r).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&&(e.info.description="")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let
|
|
1
|
+
import{__rest}from"tslib";import{IS_BROWSER,getDefinitionName}from"../utils/";import{JsonPointer}from"../utils/JsonPointer";import{RedocNormalizedOptions}from"./RedocNormalizedOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=new RedocNormalizedOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),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.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 r=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,r).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&&(e.info.description="")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let s=this.byRef(e.$ref);if(!s)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let n=t;if(t.includes(e.$ref))s=Object.assign({},s,{"x-circular-ref":!0});else if(this.isRef(s)){const e=this.deref(s,t,i);n=e.refsStack,s=e.resolved}return n=pushRef(t,e.$ref),s=this.allowMergeRefs?this.mergeRefs(e,s,i):s,{resolved:s,refsStack:n}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,s=__rest(e,["$ref"]),n=Object.keys(s);if(0===n.length)return t;if(i&&n.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=s,{description:i,title:r,readOnly:n,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:n,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),s)}mergeAllOf(e,t,i){var r;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return e;let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],allOf:void 0,title:e.title||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 n=e.allOf.map((e=>{var t;const{resolved:r,refsStack:n}=this.deref(e,i,!0),o=e.$ref||void 0,f=this.mergeAllOf(r,o,n);if(!f["x-circular-ref"]||!f.allOf)return o&&(null===(t=s["x-parentRefs"])||void 0===t||t.push(...f["x-parentRefs"]||[],o)),{$ref:o,refsStack:pushRef(n,o),schema:f}})).filter((e=>void 0!==e));for(const{schema:e,refsStack:i}of n){const{type:n,enum:o,properties:f,items:l,required:a,title:c,description:d,readOnly:p,writeOnly:O,oneOf:u,anyOf:m,"x-circular-ref":y}=e,h=__rest(e,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type!==n&&void 0!==s.type&&void 0!==n&&console.warn(`Incompatible types in allOf at "${t}": "${s.type}" and "${n}"`),void 0!==n&&(Array.isArray(n)&&Array.isArray(s.type)?s.type=[...n,...s.type]:s.type=n),void 0!==o&&(Array.isArray(o)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...o,...s.enum])):s.enum=o),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const e in f){const n=concatRefStacks(i,null===(r=f[e])||void 0===r?void 0:r["x-refsStack"]);if(s.properties[e]){if(!y){const i=this.mergeAllOf({allOf:[s.properties[e],f[e]],"x-refsStack":n},t+"/properties/"+e,n);s.properties[e]=i}}else s.properties[e]=Object.assign(Object.assign({},f[e]),{"x-refsStack":n})}}if(void 0!==l&&!y){const r="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof e.items?{}:Object.assign({},e.items);s.items=this.mergeAllOf({allOf:[r,n]},t+"/items",i)}void 0!==u&&(s.oneOf=u),void 0!==m&&(s.anyOf=m),void 0!==a&&(s.required=[...s.required||[],...a]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||c,description:s.description||d,readOnly:void 0!==s.readOnly?s.readOnly:p,writeOnly:void 0!==s.writeOnly?s.writeOnly:O,"x-circular-ref":s["x-circular-ref"]||y}),h)}return s}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:s}=this.deref(i[r]);void 0!==s.allOf&&s.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[s["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const i=t[e],{oneOf:r}=i,s=__rest(i,["oneOf"]);if(r&&Array.isArray(r)){const i=t.slice(0,e),n=t.slice(e+1),o=Object.keys(s).length>0?[s]:[];return{oneOf:r.map((e=>({allOf:[...i,...o,e,...n]})))}}}return e}}
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers);const c=this.operationDefinition["x-examples"];this.examples=c&&c[Object.keys(c)[0]]}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o,r,a;const n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}if(!n&&this.operationDefinition.parameters){const e=Object.keys(this.operationDefinition["x-examples"]||{})[0],t=(null===(r=this.operationDefinition["x-examples"])||void 0===r?void 0:r[e])||{},i=Object.keys(t)[0];if(null===(a=t[i])||void 0===a?void 0:a["x-codeSamples"])return t[i]["x-codeSamples"].map(((e,o)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var r,a,n;return null!==(a=null===(r=t[e])||void 0===r?void 0:r["x-codeSamples"][o].source)&&void 0!==a?a:null===(n=t[i])||void 0===n?void 0:n["x-codeSamples"][o].source}})))}return n||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
1
|
+
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{joinWithSeparator}from"../../../../services/history/helpers";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer,this.parser.definition.basePath);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers);const c=this.operationDefinition["x-examples"];this.examples=c&&c[Object.keys(c)[0]]}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o,r,a;const n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}if(!n&&this.operationDefinition.parameters){const e=Object.keys(this.operationDefinition["x-examples"]||{})[0],t=(null===(r=this.operationDefinition["x-examples"])||void 0===r?void 0:r[e])||{},i=Object.keys(t)[0];if(null===(a=t[i])||void 0===a?void 0:a["x-codeSamples"])return t[i]["x-codeSamples"].map(((e,o)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var r,a,n;return null!==(a=null===(r=t[e])||void 0===r?void 0:r["x-codeSamples"][o].source)&&void 0!==a?a:null===(n=t[i])||void 0===n?void 0:n["x-codeSamples"][o].source}})))}return n||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t,i){if(!t)return e;const o={url:i?joinWithSeparator(t.url,i):t.url,description:t.description};switch(t.position){case"first":return[o,...e];case"last":return[...e,o];case"replace":return[o];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -8,6 +8,7 @@ export interface OpenAPIDefinition {
|
|
|
8
8
|
components?: OpenAPIComponents;
|
|
9
9
|
security?: OpenAPISecurityRequirement[];
|
|
10
10
|
tags?: OpenAPITag[];
|
|
11
|
+
basePath?: string;
|
|
11
12
|
externalDocs?: OpenAPIExternalDocumentation;
|
|
12
13
|
'x-webhooks'?: OpenAPIPaths;
|
|
13
14
|
webhooks?: OpenAPIPaths;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest}from"tslib";import{IS_BROWSER,getDefinitionName}from"../utils/";import{JsonPointer}from"../utils/JsonPointer";import{RedocNormalizedOptions}from"./RedocNormalizedOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=new RedocNormalizedOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),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.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 r=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,r).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&&(e.info.description="")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let
|
|
1
|
+
import{__rest}from"tslib";import{IS_BROWSER,getDefinitionName}from"../utils/";import{JsonPointer}from"../utils/JsonPointer";import{RedocNormalizedOptions}from"./RedocNormalizedOptions";export function pushRef(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}export function concatRefStacks(e,t){return t?e.concat(t):e}export class OpenAPIParser{constructor(e,t,i=new RedocNormalizedOptions({})){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:i}),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.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 r=IS_BROWSER?window.location.href:"";"string"==typeof t&&(this.definitionUrl=new URL(t,r).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&&(e.info.description="")}isRef(e){return!!e&&(void 0!==e.$ref&&null!==e.$ref)}deref(e,t=[],i=!1){const r=null==e?void 0:e["x-refsStack"];if(t=concatRefStacks(t,r),this.isRef(e)){const r=getDefinitionName(e.$ref);if(r&&this.options.ignoreNamedSchemas.has(r))return{resolved:{type:"object",title:r},refsStack:t};let s=this.byRef(e.$ref);if(!s)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let n=t;if(t.includes(e.$ref))s=Object.assign({},s,{"x-circular-ref":!0});else if(this.isRef(s)){const e=this.deref(s,t,i);n=e.refsStack,s=e.resolved}return n=pushRef(t,e.$ref),s=this.allowMergeRefs?this.mergeRefs(e,s,i):s,{resolved:s,refsStack:n}}return{resolved:e,refsStack:concatRefStacks(t,r)}}mergeRefs(e,t,i){const{$ref:r}=e,s=__rest(e,["$ref"]),n=Object.keys(s);if(0===n.length)return t;if(i&&n.some((e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e)))){const e=s,{description:i,title:r,readOnly:n,writeOnly:o}=e;return{allOf:[{description:i,title:r,readOnly:n,writeOnly:o},t,__rest(e,["description","title","readOnly","writeOnly"])]}}return Object.assign(Object.assign({},t),s)}mergeAllOf(e,t,i){var r;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e)).allOf)return e;let s=Object.assign(Object.assign({},e),{"x-parentRefs":[],allOf:void 0,title:e.title||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 n=e.allOf.map((e=>{var t;const{resolved:r,refsStack:n}=this.deref(e,i,!0),o=e.$ref||void 0,f=this.mergeAllOf(r,o,n);if(!f["x-circular-ref"]||!f.allOf)return o&&(null===(t=s["x-parentRefs"])||void 0===t||t.push(...f["x-parentRefs"]||[],o)),{$ref:o,refsStack:pushRef(n,o),schema:f}})).filter((e=>void 0!==e));for(const{schema:e,refsStack:i}of n){const{type:n,enum:o,properties:f,items:l,required:a,title:c,description:d,readOnly:p,writeOnly:O,oneOf:u,anyOf:m,"x-circular-ref":y}=e,h=__rest(e,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(s.type!==n&&void 0!==s.type&&void 0!==n&&console.warn(`Incompatible types in allOf at "${t}": "${s.type}" and "${n}"`),void 0!==n&&(Array.isArray(n)&&Array.isArray(s.type)?s.type=[...n,...s.type]:s.type=n),void 0!==o&&(Array.isArray(o)&&Array.isArray(s.enum)?s.enum=Array.from(new Set([...o,...s.enum])):s.enum=o),void 0!==f&&"object"==typeof f){s.properties=s.properties||{};for(const e in f){const n=concatRefStacks(i,null===(r=f[e])||void 0===r?void 0:r["x-refsStack"]);if(s.properties[e]){if(!y){const i=this.mergeAllOf({allOf:[s.properties[e],f[e]],"x-refsStack":n},t+"/properties/"+e,n);s.properties[e]=i}}else s.properties[e]=Object.assign(Object.assign({},f[e]),{"x-refsStack":n})}}if(void 0!==l&&!y){const r="boolean"==typeof s.items?{}:Object.assign({},s.items),n="boolean"==typeof e.items?{}:Object.assign({},e.items);s.items=this.mergeAllOf({allOf:[r,n]},t+"/items",i)}void 0!==u&&(s.oneOf=u),void 0!==m&&(s.anyOf=m),void 0!==a&&(s.required=[...s.required||[],...a]),s=Object.assign(Object.assign(Object.assign({},s),{title:s.title||c,description:s.description||d,readOnly:void 0!==s.readOnly?s.readOnly:p,writeOnly:void 0!==s.writeOnly?s.writeOnly:O,"x-circular-ref":s["x-circular-ref"]||y}),h)}return s}findDerived(e){const t={},i=this.definition.components&&this.definition.components.schemas||{};for(const r in i){const{resolved:s}=this.deref(i[r]);void 0!==s.allOf&&s.allOf.find((t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1))&&(t["#/components/schemas/"+r]=[s["x-discriminator-value"]||r])}return t}hoistOneOfs(e){if(void 0===e.allOf)return e;const t=e.allOf;for(let e=0;e<t.length;e++){const i=t[e],{oneOf:r}=i,s=__rest(i,["oneOf"]);if(r&&Array.isArray(r)){const i=t.slice(0,e),n=t.slice(e+1),o=Object.keys(s).length>0?[s]:[];return{oneOf:r.map((e=>({allOf:[...i,...o,e,...n]})))}}}return e}}
|
|
2
2
|
//# sourceMappingURL=OpenAPIParser.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers);const c=this.operationDefinition["x-examples"];this.examples=c&&c[Object.keys(c)[0]]}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o,r,a;const n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}if(!n&&this.operationDefinition.parameters){const e=Object.keys(this.operationDefinition["x-examples"]||{})[0],t=(null===(r=this.operationDefinition["x-examples"])||void 0===r?void 0:r[e])||{},i=Object.keys(t)[0];if(null===(a=t[i])||void 0===a?void 0:a["x-codeSamples"])return t[i]["x-codeSamples"].map(((e,o)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var r,a,n;return null!==(a=null===(r=t[e])||void 0===r?void 0:r["x-codeSamples"][o].source)&&void 0!==a?a:null===(n=t[i])||void 0===n?void 0:n["x-codeSamples"][o].source}})))}return n||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t){if(!t)return e;const i={url:t.url,description:t.description};switch(t.position){case"first":return[i,...e];case"last":return[...e,i];case"replace":return[i];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
1
|
+
import{__decorate}from"tslib";import{action,makeObservable,observable}from"mobx";import{extractExtensions,getOperationSummary,getStatusCodeType,isStatusCode,memoize,mergeParams,normalizeServers,sanitizeItemId,sortByField,sortByRequired}from"../../utils";import{getCodeSample}from"../../../../services/code-samples/generator";import{getInitialServerWithVariables}from"../../../../components/console/utils";import{joinWithSeparator}from"../../../../services/history/helpers";import{CallbackModel}from"./Callback";import{FieldModel}from"./Field";import{RequestBodyModel}from"./RequestBody";import{ResponseModel}from"./Response";import{SecurityRequirementModel}from"./SecurityRequirement";export function isPayloadSample(e){return"payload"===e.lang&&"requestBodyContent"in e}let isCodeSamplesWarningPrinted=!1;export class OperationModel{constructor(e,t,i,o,r=!1){var a,n;Object.defineProperty(this,"parser",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"operationDefinition",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"absoluteIdx",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"href",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"operation"}),Object.defineProperty(this,"parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"externalDocs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"items",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"depth",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ready",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"activeMimeName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"activeServer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestValues",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultExampleName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"defaultMimeType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"operationId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"httpVerb",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deprecated",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"servers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"security",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"extensions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isWebhook",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"examples",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),makeObservable(this),this.pointer=t.pointer,this.description=t.description,this.parent=i,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=r,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=getOperationSummary(t),this.defaultExampleName=t.defaultSampleName;const l=null===(n=null===(a=this.requestBody)||void 0===a?void 0:a.content)||void 0===n?void 0:n.mediaTypes,[s]=l||[],[p]=Object.keys((null==s?void 0:s.examples)||[]);this.activeExampleName=!1!==t.defaultSampleName&&(t.defaultSampleName||p),this.defaultMimeType=t.defaultMimeType;const d=null==l?void 0:l.find((e=>e.name===t.defaultMimeType));if(this.activeMimeName=(null==d?void 0:d.name)||(null==s?void 0:s.name),this.isCallback)this.security=(t.security||[]).map((t=>new SecurityRequirementModel(t,e))),this.servers=normalizeServers("",t.servers||t.pathServers||[]);else{this.id=sanitizeItemId(void 0!==t.operationId?"operation/"+t.operationId:void 0!==i?i.id+this.pointer:this.pointer),this.security=(t.security||e.definition.security||[]).map((t=>new SecurityRequirementModel(t,e)));const r=this.mergeInMockServer(t.servers||t.pathServers||e.definition.servers||[],o.mockServer,this.parser.definition.basePath);this.servers=normalizeServers(e.definitionUrl,r)}o.showExtensions&&(this.extensions=extractExtensions(t,o.showExtensions)),this.activeServer=getInitialServerWithVariables(this.servers);const c=this.operationDefinition["x-examples"];this.examples=c&&c[Object.keys(c)[0]]}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}activateMimeName(e){this.activeMimeName=e}activateExampleName(e){this.activeExampleName=e}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationDefinition.requestBody&&new RequestBodyModel({parser:this.parser,infoOrRef:this.operationDefinition.requestBody,options:this.options,operation:this,isEvent:this.isEvent})}get payload(){var e;const t=null===(e=this.requestBody)||void 0===e?void 0:e.content;return(null==t?void 0:t.hasSample)?{lang:"payload",label:"Payload",source:"",requestBodyContent:t}:void 0}get hasSamples(){var e,t;return(null===(t=null===(e=this.requestBody)||void 0===e?void 0:e.content)||void 0===t?void 0:t.hasSample)||this.definitionSamples.length>0}get definitionSamples(){var e,t,i,o,r,a;const n=this.operationDefinition["x-codeSamples"]||this.operationDefinition["x-code-samples"];if(this.operationDefinition["x-code-samples"]&&!isCodeSamplesWarningPrinted&&(isCodeSamplesWarningPrinted=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead')),!n&&this.operationDefinition.requestBody){const r=this.parser.deref(this.operationDefinition.requestBody).resolved,a=Object.keys((null==r?void 0:r.content)||{})[0],n=(null===(e=r["x-examples"])||void 0===e?void 0:e[a])||(null===(i=null===(t=null==r?void 0:r.content)||void 0===t?void 0:t[a])||void 0===i?void 0:i.examples)||{},l=Object.keys(n)[0];if(null===(o=n[l])||void 0===o?void 0:o["x-codeSamples"])return n[l]["x-codeSamples"].map(((e,t)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var i,o,r;return null!==(o=null===(i=n[e])||void 0===i?void 0:i["x-codeSamples"][t].source)&&void 0!==o?o:null===(r=n[l])||void 0===r?void 0:r["x-codeSamples"][t].source}})))}if(!n&&this.operationDefinition.parameters){const e=Object.keys(this.operationDefinition["x-examples"]||{})[0],t=(null===(r=this.operationDefinition["x-examples"])||void 0===r?void 0:r[e])||{},i=Object.keys(t)[0];if(null===(a=t[i])||void 0===a?void 0:a["x-codeSamples"])return t[i]["x-codeSamples"].map(((e,o)=>Object.assign(Object.assign({},e),{source:void 0,get:({exampleName:e})=>{var r,a,n;return null!==(a=null===(r=t[e])||void 0===r?void 0:r["x-codeSamples"][o].source)&&void 0!==a?a:null===(n=t[i])||void 0===n?void 0:n["x-codeSamples"][o].source}})))}return n||[]}get allCodeSamples(){var e;const{payloadSampleIdx:t,hideRequestPayloadSample:i}=this.options;let o=[];if(!this.isWebhook){const t=this.options.generateCodeSamples||{},i=new Set(this.definitionSamples.map((({lang:e})=>e.toLowerCase()))),r=(null===(e=t.languages)||void 0===e?void 0:e.filter((({lang:e})=>!i.has(e.toLowerCase()))))||[];o=this.generateCodeSamples(r,t)}const r=this.definitionSamples.concat(o),a=Math.min(r.length,t);return this.payload&&!i&&r.splice(a,0,this.payload),r}get parameters(){const e=mergeParams(this.parser,this.operationDefinition.pathParameters,this.operationDefinition.parameters).map((e=>new FieldModel(this.parser,e,this.pointer,this.options,void 0,{operation:this,type:"request"})));return this.options.sortPropsAlphabetically?sortByField(e,"name"):this.options.requiredPropsFirst?sortByRequired(e):e}get responses(){let e=!1;return Object.keys(this.operationDefinition.responses||[]).filter((t=>"default"===t||("success"===getStatusCodeType(t)&&(e=!0),isStatusCode(t)))).map((t=>new ResponseModel({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationDefinition.responses[t],options:this.options,isEvent:this.isEvent,operation:this})))}get callbacks(){return Object.keys(this.operationDefinition.callbacks||[]).map((e=>{var t;return new CallbackModel(this.parser,e,null===(t=this.operationDefinition.callbacks)||void 0===t?void 0:t[e],this.pointer,this.options)}))}get hideTryItPanel(){return!0===this.operationDefinition["x-hideTryItPanel"]}setActiveServer(e){this.activeServer=e}setRequestValues(e){this.requestValues=e}mergeInMockServer(e,t,i){if(!t)return e;const o={url:i?joinWithSeparator(t.url,i):t.url,description:t.description};switch(t.position){case"first":return[o,...e];case"last":return[...e,o];case"replace":return[o];default:return e}}generateCodeSamples(e,{skipOptionalParameters:t,withOAuth2Call:i}){return e.map((({lang:e,label:o,options:r})=>({lang:e,label:o,get:o=>getCodeSample(Object.assign(Object.assign({},o),{lang:e,options:Object.assign(Object.assign({},r),{skipOptionalParameters:t,withOAuth2Call:i,spec:this.parser.definition,generatedPayloadSamplesMaxDepth:this.options.generatedPayloadSamplesMaxDepth})}))})))}}__decorate([observable],OperationModel.prototype,"ready",void 0),__decorate([observable],OperationModel.prototype,"active",void 0),__decorate([observable],OperationModel.prototype,"expanded",void 0),__decorate([observable],OperationModel.prototype,"activeMimeName",void 0),__decorate([observable],OperationModel.prototype,"activeExampleName",void 0),__decorate([observable.ref],OperationModel.prototype,"activeServer",void 0),__decorate([observable],OperationModel.prototype,"requestValues",void 0),__decorate([action],OperationModel.prototype,"activate",null),__decorate([action],OperationModel.prototype,"deactivate",null),__decorate([action],OperationModel.prototype,"toggle",null),__decorate([action],OperationModel.prototype,"activateMimeName",null),__decorate([action],OperationModel.prototype,"activateExampleName",null),__decorate([memoize],OperationModel.prototype,"requestBody",null),__decorate([memoize],OperationModel.prototype,"payload",null),__decorate([memoize],OperationModel.prototype,"hasSamples",null),__decorate([memoize],OperationModel.prototype,"definitionSamples",null),__decorate([memoize],OperationModel.prototype,"allCodeSamples",null),__decorate([memoize],OperationModel.prototype,"parameters",null),__decorate([memoize],OperationModel.prototype,"responses",null),__decorate([memoize],OperationModel.prototype,"callbacks",null),__decorate([memoize],OperationModel.prototype,"hideTryItPanel",null),__decorate([action],OperationModel.prototype,"setActiveServer",null),__decorate([action],OperationModel.prototype,"setRequestValues",null);
|
|
2
2
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -8,6 +8,7 @@ export interface OpenAPIDefinition {
|
|
|
8
8
|
components?: OpenAPIComponents;
|
|
9
9
|
security?: OpenAPISecurityRequirement[];
|
|
10
10
|
tags?: OpenAPITag[];
|
|
11
|
+
basePath?: string;
|
|
11
12
|
externalDocs?: OpenAPIExternalDocumentation;
|
|
12
13
|
'x-webhooks'?: OpenAPIPaths;
|
|
13
14
|
webhooks?: OpenAPIPaths;
|