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 • 9.73 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports._parse=B,exports._validate=D,exports.useCreateApiHandler=exports.isCspRestricted=void 0;var a=require("react"),b=e(require("utils/api-factory")),c=require("lodash"),d=require("../utils/APITypes.ts");function e(a){return a&&a.__esModule?a:{default:a}}function f(a,b){if("function"==typeof WeakMap)var c=new WeakMap,d=new WeakMap;return(f=function(a,b){if(!b&&a&&a.__esModule)return a;var e,g,h={__proto__:null,default:a};if(null===a||"object"!=s(a)&&"function"!=typeof a)return h;if(e=b?d:c){if(e.has(a))return e.get(a);e.set(a,h)}for(var f in a)"default"!=f&&{}.hasOwnProperty.call(a,f)&&((g=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,f))&&(g.get||g.set)?e(h,f,g):h[f]=a[f]);return h})(a,b)}function g(){function b(a,b,f,g){var i=b&&b.prototype instanceof d?b:d,c=Object.create(i.prototype);return h(c,"_invoke",function(a,b,g){function h(a,b){for(k=a,s=b,e=0;!w&&t&&!c&&e<v.length;e++){var c,f=v[e],g=p.p,h=f[2];3<a?(c=h===b)&&(s=f[(k=f[4])?5:(k=3,3)],f[4]=f[5]=m):f[0]<=g&&((c=2>a&&g<f[1])?(k=0,p.v=b,p.n=f[1]):g<h&&(c=3>a||f[0]>b||b>h)&&(f[4]=a,f[5]=b,p.n=h,k=0))}if(c||1<a)return q;throw w=!0,b}var j,k,s,t=0,v=g||[],w=!1,p={p:0,n:0,v:m,a:h,f:h.bind(m,4),d:function c(a,b){return j=a,k=0,s=m,p.n=b,q}};return function(c,d,f){if(1<t)throw TypeError("Generator is already running");for(w&&1===d&&h(d,f),k=d,s=f;(e=2>k?m:s)||!w;){j||(k?3>k?(1<k&&(p.n=-1),h(k,s)):p.n=s:p.v=s);try{if(t=2,j){if(k||(c="next"),e=j[c]){if(!(e=e.call(j,s)))throw TypeError("iterator result is not an object");if(!e.done)return e;s=e.value,2>k&&(k=0)}else 1===k&&(e=j["return"])&&e.call(j),2>k&&(s=TypeError("The iterator does not provide a '"+c+"' method"),k=1);j=m}else if((e=(w=0>p.n)?s:a.call(b,p))!==q)break}catch(a){j=m,k=1,s=a}finally{t=1}}return{value:e,done:w}}}(a,f,g),!0),c}function d(){}function i(){}function j(){}function k(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,j):(a.__proto__=j,h(a,n,"GeneratorFunction")),a.prototype=Object.create(c),a}var m,e,f="function"==typeof Symbol?Symbol:{},l=f.iterator||"@@iterator",n=f.toStringTag||"@@toStringTag",q={};e=Object.getPrototypeOf;var a=[][l]?e(e([][l]())):(h(e={},l,function(){return this}),e),c=j.prototype=d.prototype=Object.create(a);return i.prototype=j,h(c,"constructor",j),h(j,"constructor",i),i.displayName="GeneratorFunction",h(j,n,"GeneratorFunction"),h(c),h(c,n,"Generator"),h(c,l,function(){return this}),h(c,"toString",function(){return"[object Generator]"}),(g=function a(){return{w:b,m:k}})()}function h(a,b,c,d){var f=Object.defineProperty;try{f({},"",{})}catch(a){f=0}h=function e(a,b,c,d){function g(b,c){h(a,b,function(a){return this._invoke(b,c,a)})}b?f?f(a,b,{value:c,enumerable:!d,configurable:!d,writable:!d}):a[b]=c:(g("next",0),g("throw",1),g("return",2))},h(a,b,c,d)}function i(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function j(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?i(Object(b),!0).forEach(function(c){k(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):i(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function k(a,b,c){return(b=l(b))in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function l(a){var b=m(a,"string");return"symbol"==s(b)?b:b+""}function m(a,b){if("object"!=s(a)||!a)return a;var c=a[Symbol.toPrimitive];if(void 0!==c){var d=c.call(a,b||"default");if("object"!=s(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}function n(a,b){return q(a)||p(a,b)||v(a,b)||o()}function o(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(b,c){var d=null==b?null:"undefined"!=typeof Symbol&&b[Symbol.iterator]||b["@@iterator"];if(null!=d){var g,h,j,k,l=[],a=!0,m=!1;try{if(j=(d=d.call(b)).next,0===c){if(Object(d)!==d)return;a=!1}else for(;!(a=(g=j.call(d)).done)&&(l.push(g.value),l.length!==c);a=!0);}catch(a){m=!0,h=a}finally{try{if(!a&&null!=d["return"]&&(k=d["return"](),Object(k)!==k))return}finally{if(m)throw h}}return l}}function q(a){if(Array.isArray(a))return a}function s(a){"@babel/helpers - typeof";return s="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},s(a)}function t(a){return x(a)||w(a)||v(a)||u()}function u(){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 v(b,c){if(b){if("string"==typeof b)return y(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)?y(b,c):void 0}}function w(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}function x(a){if(Array.isArray(a))return y(a)}function y(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 z(b,d,f,e,g,h,a){try{var c=b[h](a),i=c.value}catch(a){return void f(a)}c.done?d(i):Promise.resolve(i).then(e,g)}function A(b){return function(){var c=this,d=arguments;return new Promise(function(e,f){function g(a){z(i,e,f,g,h,"next",a)}function h(a){z(i,e,f,g,h,"throw",a)}var i=b.apply(c,d);g(void 0)})}}function B(a){return C.apply(this,arguments)}function C(){return C=A(g().m(function b(a){var c,d,e,h,i,j,k,l,m,n,o;return g().w(function(b){for(;1;)switch(b.n){case 0:return b.n=1,Promise.resolve().then(function(){return f(require("@asyncapi/parser"))});case 1:return c=b.v,d=c.Parser,b.n=2,Promise.resolve().then(function(){return f(require("@asyncapi/avro-schema-parser"))});case 2:return e=b.v,h=e.AvroSchemaParser,b.n=3,Promise.resolve().then(function(){return f(require("@asyncapi/openapi-schema-parser"))});case 3:return i=b.v,j=i.OpenAPISchemaParser,k=new d({}),k.registerSchemaParser(h()),k.registerSchemaParser(j()),l={allowedSeverity:{error:!0,warning:!0}},b.n=4,k.parse(a,{validateOptions:l});case 4:return m=b.v,n=m.document,o=m.diagnostics,n||(console.error("Failed to parse api"),console.error(o)),b.a(2,n)}},b)})),C.apply(this,arguments)}function D(a){return E.apply(this,arguments)}function E(){return E=A(g().m(function b(a){var c,d,e,h,i,j,k;return g().w(function(b){for(;1;)switch(b.n){case 0:return b.n=1,Promise.resolve().then(function(){return f(require("@asyncapi/parser"))});case 1:return c=b.v,d=c.Parser,b.n=2,Promise.resolve().then(function(){return f(require("@asyncapi/avro-schema-parser"))});case 2:return e=b.v,h=e.AvroSchemaParser,b.n=3,Promise.resolve().then(function(){return f(require("@asyncapi/openapi-schema-parser"))});case 3:return i=b.v,j=i.OpenAPISchemaParser,k=new d({}),k.registerSchemaParser(h()),k.registerSchemaParser(j()),b.a(2,k.validate(a))}},b)})),E.apply(this,arguments)}var F=function b(a){var c=a.title,d=void 0===c?"":c,e=a.validationErrors,f=void 0===e?[]:e,g=a.detail,h=void 0===g?"":g,i=f.map(function(a){var b=a.title;return b}),b=[d,h].concat(t(i));return b},G=function b(a){if("object"!==s(a)||null===a)return[];for(var c=new WeakSet,d=[],e=[a],f=function b(a){try{var c=new URL(a);return"http:"===c.protocol||"https:"===c.protocol}catch(a){return!1}};0<e.length;){var g=e.pop();if("object"===s(g)&&null!==g&&!c.has(g))for(var h in c.add(g),"string"==typeof g.$ref&&!g.$ref.startsWith("#")&&f(g.$ref)&&d.push("$ref: ".concat(g.$ref)),g)Object.hasOwn(g,h)&&e.push(g[h])}return d},H=exports.isCspRestricted=function a(){if("undefined"!=typeof window){var b=document.querySelector("meta[http-equiv=\"Content-Security-Policy\"]");if(b){var c=b.getAttribute("content");if(c&&c.includes("script-src")&&!c.includes("unsafe-eval"))return!0}}return!1},I=exports.useCreateApiHandler=function f(e){var h=(0,a.useState)({originalApi:e,apiHandler:null,loading:!0,error:null}),i=n(h,2),k=i[0],l=k.originalApi,m=k.apiHandler,o=k.loading,p=k.error,q=i[1];return(0,a.useEffect)(function(){q(function(a){return j(j({},a),{},{loading:!0})});var a=!1,f=G(e);return f.length?void q(function(a){return j(j({},a),{},{error:{type:"external_ref",errorString:f.join("\n")},loading:!1})}):((0,d.getAPIType)(e)===d.APITypes.asyncapi?A(g().m(function d(){var f,h,i,k;return g().w(function(d){for(;1;)switch(d.p=d.n){case 0:if(d.p=0,!H()){d.n=1;break}return q(function(a){return j(j({},a),{},{originalApi:e,apiHandler:(0,b["default"])(e),error:{type:"csp_restricted",errorString:"The AsyncAPI document can't be displayed due to enforced Content Security Policy (CSP) restrictions."},loading:!1})}),d.a(2);case 1:return f=(0,c.cloneDeep)(e),d.n=2,B(e);case 2:if(h=d.v,!a){d.n=3;break}return d.a(2);case 3:q(function(a){return j(j({},a),{},{originalApi:f,apiHandler:(0,b["default"])(h),error:null,loading:!1})}),d.n=6;break;case 4:if(d.p=4,k=d.v,!a){d.n=5;break}return d.a(2);case 5:console.error("Errors detected while parsing:",k),i={type:"async_parse_errors",errorString:F(k).join("\n")},q(function(a){return j(j({},a),{},{error:i,loading:!1})});case 6:return d.a(2)}},d,null,[[0,4]])}))():q(function(a){return j(j({},a),{},{originalApi:e,apiHandler:(0,b["default"])(e),error:null,loading:!1})}),function(){a=!0})},[e]),{originalApi:l,apiHandler:m,loading:o,error:p}};