UNPKG

apiconnect-explorer

Version:

- [Getting Started](#getting-started) - [Configuration](#configuration) * [Required](#required) * [Optional](#optional) - [Usage in React](#usage-in-react) - [Usage outside of React](#usage-outside-of-react) - [Detailed description of options](#detail

1 lines 8.88 kB
"use strict";function a(b){"@babel/helpers - typeof";return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},a(b)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasMessages=exports.getSchemaTypeAndVersion=exports.getReadableSchemaFormat=exports["default"]=exports.AsyncApi=void 0;var b=require("lodash"),c=f(require("./TranslatableAsyncObject")),d=require("./common"),e=f(require("./api-common.ts"));function f(a){return a&&a.__esModule?a:{default:a}}function g(a){return k(a)||j(a)||i(a)||h()}function h(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(b,c){if(b){if("string"==typeof b)return l(b,c);var a={}.toString.call(b).slice(8,-1);return"Object"===a&&b.constructor&&(a=b.constructor.name),"Map"===a||"Set"===a?Array.from(b):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?l(b,c):void 0}}function j(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function k(a){if(Array.isArray(a))return l(a)}function l(b,c){(null==c||c>b.length)&&(c=b.length);for(var d=0,f=Array(c);d<c;d++)f[d]=b[d];return f}function m(b,a){if(!(b instanceof a))throw new TypeError("Cannot call a class as a function")}function n(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,p(c.key),c)}function o(a,b,c){return b&&n(a.prototype,b),c&&n(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function p(b){var c=q(b,"string");return"symbol"==a(c)?c:c+""}function q(b,c){if("object"!=a(b)||!b)return b;var d=b[Symbol.toPrimitive];if(void 0!==d){var e=d.call(b,c||"default");if("object"!=a(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===c?String:Number)(b)}function r(a,b,c){return b=w(b),s(a,v()?Reflect.construct(b,c||[],w(a).constructor):b.apply(a,c))}function s(b,c){if(c&&("object"==a(c)||"function"==typeof c))return c;if(void 0!==c)throw new TypeError("Derived constructors may only return object or undefined");return u(b)}function u(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function v(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(a){}return(v=function(){return!!a})()}function w(a){return w=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)},w(a)}function x(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),b&&y(a,b)}function y(a,b){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,b){return a.__proto__=b,a},y(a,b)}var z=/^(.*);version=([0-9.]+|draft-[0-9]+)/,A="Avro",B="AsyncAPI",C="OpenAPI",D="JSON",E={"application/vnd.aai.asyncapi":B,"application/vnd.aai.asyncapi+json":B,"application/vnd.aai.asyncapi+yaml":B,"application/vnd.oai.openapi":C,"application/vnd.oai.openapi+json":C,"application/vnd.oai.openapi+yaml":C,"application/schema+json":D,"application/schema+yaml":D,"application/vnd.apache.avro":A,"application/vnd.apache.avro+json":A,"application/vnd.apache.avro+yaml":A},F=["object","record"],G=exports.getSchemaTypeAndVersion=function(a){var b={type:null,version:null};if(a){var c=a.match(z);c&&2<c.length&&(b.type=c[1],b.version=c[2])}return b},H=exports.getReadableSchemaFormat=function(a){var b=G(a);return b&&b.type&&(b.type=E[b.type]),b},I=exports.hasMessages=function(a){return 0<a.messages().length},J=exports.AsyncApi=exports["default"]=function(a){function e(){return m(this,e),r(this,e,arguments)}return x(e,a),o(e,[{key:"isSupported",value:function(){var a;return null!==(a=this.api)&&void 0!==a&&null!==(a=a._json)&&void 0!==a&&a.asyncapi}},{key:"getEndpoints",value:function(){var a=[];if(0<this.api.servers().length){var b=this.getFirstProtocol();a=Object.values(this.api.servers().all()).filter(function(a){return a.protocol()===b}).map(function(a){return{url:a.url(),types:a.id(),variables:a.variables(),bindings:a.bindings()}})}return a}},{key:"getSchemas",value:function(){return{}}},{key:"isAsyncApiSchema",value:function(a){return a===B}},{key:"isAvroSchema",value:function(a){return a===A}},{key:"isJSONSchema",value:function(a){return a===D}},{key:"isOpenApiSchema",value:function(a){return a===C}},{key:"getFirstMessageHeader",value:function(a,b){var c,e=this.api.channels().get(a),f=e.operations().get(b);if(!e||!f||0===f.messages().all().length)return{schema:null,example:null};var g=f.messages().all()[0];if(!g.headers())return{schema:null,example:null};var h=(0,d.removeParserKeys)(g.headers().json()),i=g.examples(),j=(null===i||void 0===i||null===(c=i[0])||void 0===c?void 0:c.headers())||null;return{schema:h,example:j}}},{key:"getFirstSchema",value:function(a,b){var c,d=this.api.channels().get(a),e=null===d||void 0===d||null===(c=d.operations())||void 0===c?void 0:c.get(b);if(d&&e&&I(e)){var f=e.messages().all()[0],g=f.payload(),h=f.schemaFormat(),i=f.examples(),j=f.contentType(),k=null;g="string"==typeof f._json["x-parser-original-payload"]?{type:function(){return f._json["x-parser-original-payload"]}}:f.payload(),i&&0<i.all().length&&i.all()[0].payload()&&(k=i.all()[0].payload());var l=H(h);return{payload:g,format:h,example:k,type:l.type,version:l.version,encodingType:j}}return{payload:null,format:null,example:null,type:null,version:null,encodingType:null}}},{key:"getFirstMessage",value:function(a,b){var d=this.api.channels().get(a),e=d.operations().get(b);if(!e||0===e.messages().all().length)return{};var f=new c["default"](e.messages().all()[0]),g=e.messages().all()[0].bindings();return{description:f.description(),summary:f.summary(),title:f.title(),bindings:g}}},{key:"getChannelNames",value:function(){var a=[],b=this.api.channels().all();return 0<b.length&&(a=b.map(function(a){return a.id()})),a}},{key:"getFirstProtocol",value:function(){var a="";if(0<this.api.allServers().length){var b=this.api.servers(),c=Object.values(b),d=c[0];a=d.protocol()}return a}},{key:"getFirstSecurityType",value:function(){if(0<this.api.servers().all().length){var a=this.api.servers(),b=Object.values(a),d=b[0],e=d.security();if(e&&0<this.api.securitySchemes().all().length){var f=e[0].all()[0].scheme();return{type:f.type(),description:new c["default"](f).description()}}}return{type:null,description:null}}},{key:"getChannel",value:function(a){return this.api.channels().get(a)}},{key:"getChannelBindings",value:function(a){var b=this.getChannel(a);return b&&0<b.bindings().all().length?b.bindings():null}},{key:"getMessage",value:function(a,b){var c,d,e=this.getChannel(a);return e?null!==(c=null===(d=e.operations().get(b))||void 0===d||null===(d=d.messages())||void 0===d?void 0:d.all()[0])&&void 0!==c?c:null:null}},{key:"getMessageBindings",value:function(a){return a&&0<a.bindings().all().length?a.bindings():null}},{key:"getDescription",value:function(a){var b=this.getChannel(a);return b&&b.hasDescription()?new c["default"](b).description():null}},{key:"getParameters",value:function(a){var b=this.getChannel(a);if(b&&b._json&&b._json.parameters){var c=[];for(var d in b._json.parameters)c.push({name:d,description:b._json.parameters[d].description||null,schema:b._json.parameters[d].schema||null,location:b._json.parameters[d].location||null});return c}return[]}},{key:"isPrimitiveSchema",value:function(a){return(0,b.isNil)(a)||a&&!(0,b.isEmpty)(a)&&("string"==typeof a||!F.includes(a.type()))}},{key:"getPrimitiveSchemaInfo",value:function(a){var b={};return a&&"string"==typeof a?b.type=a:a&&a.type()&&(b.type=a.type(),a.format&&(b.format=a.format)),b}},{key:"getServerBindings",value:function(a){var b=this.api.servers(),c=b[a];return c&&0<c.bindings().all().length?c.bindings():null}},{key:"getSecurityDefinitions",value:function(){var a={};if(this.api.securitySchemes()){var b=this.api.securitySchemes().all();b.forEach(function(b){!Array.isArray(b)&&0<Object.values(b).length&&(a[b._meta.id]=b.json())})}return console.debug(a),a}},{key:"getSecurity",value:function(){var a=this.api.servers(),c=g(a).flatMap(function(a){if(a.security()){if(0===a.security().length)return[];var b=a.security().pop(),c=Object.fromEntries(b.collections.map(function(a){return[a.scheme()._meta.id,a.json().scopes]}));return c}return[]});return(0,b.uniqBy)(c,function(a){return Object.keys(a)[0]})}},{key:"isEnforced",value:function(){return(0,b.get)(this.api._json,"x-ibm-configuration.enforced",!1)}}])}(e["default"]);