@asyncapi/react-component 1.0.0-next.4 → 1.0.0-next.40
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/README.md +74 -3
- package/browser/index.js +8 -6
- package/browser/standalone/index.js +45 -0
- package/browser/standalone/without-parser.js +41 -0
- package/browser/without-parser.js +6 -6
- package/lib/cjs/components/Bindings.js +12 -4
- package/lib/cjs/components/Bindings.js.map +1 -1
- package/lib/cjs/components/CollapseButton.js +7 -7
- package/lib/cjs/components/CollapseButton.js.map +1 -1
- package/lib/cjs/components/Extensions.js +4 -3
- package/lib/cjs/components/Extensions.js.map +1 -1
- package/lib/cjs/components/Href.js +2 -1
- package/lib/cjs/components/Href.js.map +1 -1
- package/lib/cjs/components/JSONSnippet.js +17 -0
- package/lib/cjs/components/JSONSnippet.js.map +1 -0
- package/lib/cjs/components/Markdown.js +4 -4
- package/lib/cjs/components/Markdown.js.map +1 -1
- package/lib/cjs/components/Schema.js +67 -26
- package/lib/cjs/components/Schema.js.map +1 -1
- package/lib/cjs/components/Tag.js +3 -2
- package/lib/cjs/components/Tag.js.map +1 -1
- package/lib/cjs/components/Tags.js +2 -1
- package/lib/cjs/components/Tags.js.map +1 -1
- package/lib/cjs/components/index.js +6 -2
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/config/config.js.map +1 -1
- package/lib/cjs/config/default.js +1 -0
- package/lib/cjs/config/default.js.map +1 -1
- package/lib/cjs/config/index.js +5 -1
- package/lib/cjs/config/index.js.map +1 -1
- package/lib/cjs/constants.js +3 -48
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/containers/AsyncApi/AsyncApi.js +8 -2
- package/lib/cjs/containers/AsyncApi/AsyncApi.js.map +1 -1
- package/lib/cjs/containers/AsyncApi/Layout.js +33 -21
- package/lib/cjs/containers/AsyncApi/Layout.js.map +1 -1
- package/lib/cjs/containers/AsyncApi/Standalone.js +7 -1
- package/lib/cjs/containers/AsyncApi/Standalone.js.map +1 -1
- package/lib/cjs/containers/Error/Error.js +5 -4
- package/lib/cjs/containers/Error/Error.js.map +1 -1
- package/lib/cjs/containers/Info/Info.js +5 -4
- package/lib/cjs/containers/Info/Info.js.map +1 -1
- package/lib/cjs/containers/Messages/Message.js +20 -7
- package/lib/cjs/containers/Messages/Message.js.map +1 -1
- package/lib/cjs/containers/Messages/MessageExample.js +21 -14
- package/lib/cjs/containers/Messages/MessageExample.js.map +1 -1
- package/lib/cjs/containers/Messages/Messages.js +11 -7
- package/lib/cjs/containers/Messages/Messages.js.map +1 -1
- package/lib/cjs/containers/Operations/Operation.js +64 -33
- package/lib/cjs/containers/Operations/Operation.js.map +1 -1
- package/lib/cjs/containers/Operations/Operations.js +9 -6
- package/lib/cjs/containers/Operations/Operations.js.map +1 -1
- package/lib/cjs/containers/Schemas/Schema.js +21 -0
- package/lib/cjs/containers/Schemas/Schema.js.map +1 -0
- package/lib/cjs/containers/Schemas/Schemas.js +28 -0
- package/lib/cjs/containers/Schemas/Schemas.js.map +1 -0
- package/lib/cjs/containers/Servers/Security.js +138 -0
- package/lib/cjs/containers/Servers/Security.js.map +1 -0
- package/lib/cjs/containers/Servers/Server.js +11 -7
- package/lib/cjs/containers/Servers/Server.js.map +1 -1
- package/lib/cjs/containers/Servers/Servers.js +7 -4
- package/lib/cjs/containers/Servers/Servers.js.map +1 -1
- package/lib/cjs/containers/Sidebar/Sidebar.js +55 -35
- package/lib/cjs/containers/Sidebar/Sidebar.js.map +1 -1
- package/lib/cjs/contexts/index.js +6 -1
- package/lib/cjs/contexts/index.js.map +1 -1
- package/lib/cjs/contexts/useConfig.js +10 -0
- package/lib/cjs/contexts/useConfig.js.map +1 -0
- package/lib/cjs/contexts/useSpec.js +7 -3
- package/lib/cjs/contexts/useSpec.js.map +1 -1
- package/lib/cjs/helpers/common.js +17 -0
- package/lib/cjs/helpers/common.js.map +1 -0
- package/lib/cjs/helpers/index.js +7 -4
- package/lib/cjs/helpers/index.js.map +1 -1
- package/lib/cjs/helpers/marked.js +34 -0
- package/lib/cjs/helpers/marked.js.map +1 -0
- package/lib/cjs/helpers/message.js +33 -5
- package/lib/cjs/helpers/message.js.map +1 -1
- package/lib/cjs/helpers/parser.js +4 -4
- package/lib/cjs/helpers/parser.js.map +1 -1
- package/lib/cjs/helpers/schema.js +141 -114
- package/lib/cjs/helpers/schema.js.map +1 -1
- package/lib/cjs/helpers/server.js +49 -0
- package/lib/cjs/helpers/server.js.map +1 -1
- package/lib/cjs/helpers/specification.js +3 -0
- package/lib/cjs/helpers/specification.js.map +1 -1
- package/lib/cjs/index.js +3 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.js +4 -51
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/without-parser.js +3 -0
- package/lib/cjs/without-parser.js.map +1 -1
- package/lib/esm/components/Bindings.js +10 -3
- package/lib/esm/components/Bindings.js.map +1 -1
- package/lib/esm/components/CollapseButton.js +5 -6
- package/lib/esm/components/CollapseButton.js.map +1 -1
- package/lib/esm/components/Extensions.js +2 -2
- package/lib/esm/components/Extensions.js.map +1 -1
- package/lib/esm/components/Href.js.map +1 -1
- package/lib/esm/components/JSONSnippet.js +10 -0
- package/lib/esm/components/JSONSnippet.js.map +1 -0
- package/lib/esm/components/Markdown.js +2 -3
- package/lib/esm/components/Markdown.js.map +1 -1
- package/lib/esm/components/Schema.js +61 -25
- package/lib/esm/components/Schema.js.map +1 -1
- package/lib/esm/components/Tag.js +1 -1
- package/lib/esm/components/Tag.js.map +1 -1
- package/lib/esm/components/Tags.js.map +1 -1
- package/lib/esm/components/index.js +1 -1
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/config/config.js.map +1 -1
- package/lib/esm/config/default.js +1 -0
- package/lib/esm/config/default.js.map +1 -1
- package/lib/esm/config/index.js.map +1 -1
- package/lib/esm/constants.js +1 -47
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/containers/AsyncApi/AsyncApi.js +2 -0
- package/lib/esm/containers/AsyncApi/AsyncApi.js.map +1 -1
- package/lib/esm/containers/AsyncApi/Layout.js +28 -20
- package/lib/esm/containers/AsyncApi/Layout.js.map +1 -1
- package/lib/esm/containers/AsyncApi/Standalone.js +2 -0
- package/lib/esm/containers/AsyncApi/Standalone.js.map +1 -1
- package/lib/esm/containers/Error/Error.js +3 -3
- package/lib/esm/containers/Error/Error.js.map +1 -1
- package/lib/esm/containers/Info/Info.js +2 -2
- package/lib/esm/containers/Info/Info.js.map +1 -1
- package/lib/esm/containers/Messages/Message.js +18 -6
- package/lib/esm/containers/Messages/Message.js.map +1 -1
- package/lib/esm/containers/Messages/MessageExample.js +13 -12
- package/lib/esm/containers/Messages/MessageExample.js.map +1 -1
- package/lib/esm/containers/Messages/Messages.js +10 -7
- package/lib/esm/containers/Messages/Messages.js.map +1 -1
- package/lib/esm/containers/Operations/Operation.js +62 -33
- package/lib/esm/containers/Operations/Operation.js.map +1 -1
- package/lib/esm/containers/Operations/Operations.js +7 -5
- package/lib/esm/containers/Operations/Operations.js.map +1 -1
- package/lib/esm/containers/Schemas/Schema.js +14 -0
- package/lib/esm/containers/Schemas/Schema.js.map +1 -0
- package/lib/esm/containers/Schemas/Schemas.js +21 -0
- package/lib/esm/containers/Schemas/Schemas.js.map +1 -0
- package/lib/esm/containers/Servers/Security.js +131 -0
- package/lib/esm/containers/Servers/Security.js.map +1 -0
- package/lib/esm/containers/Servers/Server.js +10 -7
- package/lib/esm/containers/Servers/Server.js.map +1 -1
- package/lib/esm/containers/Servers/Servers.js +5 -3
- package/lib/esm/containers/Servers/Servers.js.map +1 -1
- package/lib/esm/containers/Sidebar/Sidebar.js +34 -22
- package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
- package/lib/esm/contexts/index.js +1 -0
- package/lib/esm/contexts/index.js.map +1 -1
- package/lib/esm/contexts/useConfig.js +6 -0
- package/lib/esm/contexts/useConfig.js.map +1 -0
- package/lib/esm/contexts/useSpec.js +2 -2
- package/lib/esm/contexts/useSpec.js.map +1 -1
- package/lib/esm/helpers/common.js +14 -0
- package/lib/esm/helpers/common.js.map +1 -0
- package/lib/esm/helpers/index.js +2 -3
- package/lib/esm/helpers/index.js.map +1 -1
- package/lib/esm/helpers/marked.js +27 -0
- package/lib/esm/helpers/marked.js.map +1 -0
- package/lib/esm/helpers/message.js +32 -4
- package/lib/esm/helpers/message.js.map +1 -1
- package/lib/esm/helpers/parser.js.map +1 -1
- package/lib/esm/helpers/schema.js +140 -113
- package/lib/esm/helpers/schema.js.map +1 -1
- package/lib/esm/helpers/server.js +49 -0
- package/lib/esm/helpers/server.js.map +1 -1
- package/lib/esm/helpers/specification.js +5 -2
- package/lib/esm/helpers/specification.js.map +1 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.js +2 -46
- package/lib/esm/types.js.map +1 -1
- package/lib/esm/without-parser.js +2 -0
- package/lib/esm/without-parser.js.map +1 -1
- package/lib/types/components/Bindings.d.ts.map +1 -1
- package/lib/types/components/CollapseButton.d.ts +1 -0
- package/lib/types/components/CollapseButton.d.ts.map +1 -1
- package/lib/types/components/Extensions.d.ts.map +1 -1
- package/lib/types/components/JSONSnippet.d.ts +7 -0
- package/lib/types/components/JSONSnippet.d.ts.map +1 -0
- package/lib/types/components/Markdown.d.ts.map +1 -1
- package/lib/types/components/Schema.d.ts +3 -2
- package/lib/types/components/Schema.d.ts.map +1 -1
- package/lib/types/components/index.d.ts +1 -1
- package/lib/types/components/index.d.ts.map +1 -1
- package/lib/types/config/config.d.ts +1 -0
- package/lib/types/config/config.d.ts.map +1 -1
- package/lib/types/config/default.d.ts.map +1 -1
- package/lib/types/constants.d.ts +1 -26
- package/lib/types/constants.d.ts.map +1 -1
- package/lib/types/containers/AsyncApi/Layout.d.ts.map +1 -1
- package/lib/types/containers/Messages/Message.d.ts +1 -0
- package/lib/types/containers/Messages/Message.d.ts.map +1 -1
- package/lib/types/containers/Messages/MessageExample.d.ts +2 -1
- package/lib/types/containers/Messages/MessageExample.d.ts.map +1 -1
- package/lib/types/containers/Messages/Messages.d.ts.map +1 -1
- package/lib/types/containers/Operations/Operation.d.ts +1 -0
- package/lib/types/containers/Operations/Operation.d.ts.map +1 -1
- package/lib/types/containers/Operations/Operations.d.ts.map +1 -1
- package/lib/types/containers/Schemas/Schema.d.ts +9 -0
- package/lib/types/containers/Schemas/Schema.d.ts.map +1 -0
- package/lib/types/containers/Schemas/Schemas.d.ts +3 -0
- package/lib/types/containers/Schemas/Schemas.d.ts.map +1 -0
- package/lib/types/containers/Servers/Security.d.ts +10 -0
- package/lib/types/containers/Servers/Security.d.ts.map +1 -0
- package/lib/types/containers/Servers/Server.d.ts.map +1 -1
- package/lib/types/containers/Servers/Servers.d.ts.map +1 -1
- package/lib/types/containers/Sidebar/Sidebar.d.ts.map +1 -1
- package/lib/types/contexts/index.d.ts +1 -0
- package/lib/types/contexts/index.d.ts.map +1 -1
- package/lib/types/contexts/useConfig.d.ts +5 -0
- package/lib/types/contexts/useConfig.d.ts.map +1 -0
- package/lib/types/contexts/useSpec.d.ts +1 -3
- package/lib/types/contexts/useSpec.d.ts.map +1 -1
- package/lib/types/helpers/common.d.ts +5 -0
- package/lib/types/helpers/common.d.ts.map +1 -0
- package/lib/types/helpers/index.d.ts +2 -3
- package/lib/types/helpers/index.d.ts.map +1 -1
- package/lib/types/helpers/marked.d.ts +4 -0
- package/lib/types/helpers/marked.d.ts.map +1 -0
- package/lib/types/helpers/message.d.ts +3 -2
- package/lib/types/helpers/message.d.ts.map +1 -1
- package/lib/types/helpers/schema.d.ts +8 -3
- package/lib/types/helpers/schema.d.ts.map +1 -1
- package/lib/types/helpers/server.d.ts +6 -1
- package/lib/types/helpers/server.d.ts.map +1 -1
- package/lib/types/helpers/specification.d.ts.map +1 -1
- package/lib/types/index.d.ts +2 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/types.d.ts +10 -303
- package/lib/types/types.d.ts.map +1 -1
- package/lib/types/without-parser.d.ts +2 -0
- package/lib/types/without-parser.d.ts.map +1 -1
- package/package.json +37 -14
- package/styles/default.css +903 -642
- package/styles/default.min.css +4 -2
- package/lib/cjs/components/Code.js +0 -15
- package/lib/cjs/components/Code.js.map +0 -1
- package/lib/cjs/containers/Servers/ServerSecurity.js +0 -101
- package/lib/cjs/containers/Servers/ServerSecurity.js.map +0 -1
- package/lib/cjs/helpers/bemClasses.js +0 -49
- package/lib/cjs/helpers/bemClasses.js.map +0 -1
- package/lib/cjs/helpers/formatJsonHighlight.js +0 -61
- package/lib/cjs/helpers/formatJsonHighlight.js.map +0 -1
- package/lib/cjs/helpers/toKebabCase.js +0 -15
- package/lib/cjs/helpers/toKebabCase.js.map +0 -1
- package/lib/esm/components/Code.js +0 -9
- package/lib/esm/components/Code.js.map +0 -1
- package/lib/esm/containers/Servers/ServerSecurity.js +0 -95
- package/lib/esm/containers/Servers/ServerSecurity.js.map +0 -1
- package/lib/esm/helpers/bemClasses.js +0 -46
- package/lib/esm/helpers/bemClasses.js.map +0 -1
- package/lib/esm/helpers/formatJsonHighlight.js +0 -57
- package/lib/esm/helpers/formatJsonHighlight.js.map +0 -1
- package/lib/esm/helpers/toKebabCase.js +0 -11
- package/lib/esm/helpers/toKebabCase.js.map +0 -1
- package/lib/types/components/Code.d.ts +0 -7
- package/lib/types/components/Code.d.ts.map +0 -1
- package/lib/types/containers/Servers/ServerSecurity.d.ts +0 -8
- package/lib/types/containers/Servers/ServerSecurity.d.ts.map +0 -1
- package/lib/types/helpers/bemClasses.d.ts +0 -14
- package/lib/types/helpers/bemClasses.d.ts.map +0 -1
- package/lib/types/helpers/formatJsonHighlight.d.ts +0 -2
- package/lib/types/helpers/formatJsonHighlight.d.ts.map +0 -1
- package/lib/types/helpers/toKebabCase.d.ts +0 -2
- package/lib/types/helpers/toKebabCase.d.ts.map +0 -1
|
@@ -7,18 +7,22 @@ exports.Messages = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var Message_1 = require("./Message");
|
|
9
9
|
var contexts_1 = require("../../contexts");
|
|
10
|
+
var helpers_1 = require("../../helpers");
|
|
10
11
|
var constants_1 = require("../../constants");
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
12
|
+
var Messages = function () {
|
|
13
|
+
var asyncapi = (0, contexts_1.useSpec)();
|
|
14
|
+
var config = (0, contexts_1.useConfig)();
|
|
15
|
+
var messages = asyncapi.hasComponents() && asyncapi.components().messages();
|
|
16
|
+
if (!messages || Object.keys(messages).length === 0) {
|
|
14
17
|
return null;
|
|
15
18
|
}
|
|
16
|
-
return (react_1.default.createElement("section", { id: "messages
|
|
19
|
+
return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('messages', config)), className: "mt-16" },
|
|
17
20
|
react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.MESSAGES_TEXT),
|
|
18
|
-
react_1.default.createElement("ul", null,
|
|
21
|
+
react_1.default.createElement("ul", null, Object.entries(messages).map(function (_a, idx) {
|
|
19
22
|
var messageName = _a[0], message = _a[1];
|
|
20
|
-
return (react_1.default.createElement("li", { className: "mb-4", key: messageName, id: "message-"
|
|
21
|
-
react_1.default.createElement(Message_1.Message, { message: message, index: idx + 1, key: messageName })));
|
|
23
|
+
return (react_1.default.createElement("li", { className: "mb-4", key: messageName, id: helpers_1.CommonHelpers.getIdentifier("message-".concat(messageName), config) },
|
|
24
|
+
react_1.default.createElement(Message_1.Message, { messageName: messageName, message: message, index: idx + 1, key: messageName })));
|
|
22
25
|
}))));
|
|
23
26
|
};
|
|
27
|
+
exports.Messages = Messages;
|
|
24
28
|
//# sourceMappingURL=Messages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../../src/containers/Messages/Messages.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,qCAAoC;AAEpC,
|
|
1
|
+
{"version":3,"file":"Messages.js","sourceRoot":"","sources":["../../../../src/containers/Messages/Messages.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,qCAAoC;AAEpC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAAgD;AAEzC,IAAM,QAAQ,GAA4B;IAC/C,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAC3B,IAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE9E,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACnD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,2CACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAE,EACxD,SAAS,EAAC,OAAO;QAEjB,sCAAI,SAAS,EAAC,0CAA0C,IACrD,yBAAa,CACX;QACL,0CACG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,EAAsB,EAAE,GAAG;gBAA1B,WAAW,QAAA,EAAE,OAAO,QAAA;YAAW,OAAA,CAC7D,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,uBAAa,CAAC,aAAa,CAAC,kBAAW,WAAW,CAAE,EAAE,MAAM,CAAC;gBAEjE,8BAAC,iBAAO,IACN,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,GAAG,GAAG,CAAC,EACd,GAAG,EAAE,WAAW,GAChB,CACC,CACN;QAb8D,CAa9D,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,QAAQ,YAmCnB","sourcesContent":["import React from 'react';\n\nimport { Message } from './Message';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { MESSAGES_TEXT } from '../../constants';\n\nexport const Messages: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const config = useConfig();\n const messages = asyncapi.hasComponents() && asyncapi.components().messages();\n\n if (!messages || Object.keys(messages).length === 0) {\n return null;\n }\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('messages', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {MESSAGES_TEXT}\n </h2>\n <ul>\n {Object.entries(messages).map(([messageName, message], idx) => (\n <li\n className=\"mb-4\"\n key={messageName}\n id={CommonHelpers.getIdentifier(`message-${messageName}`, config)}\n >\n <Message\n messageName={messageName}\n message={message}\n index={idx + 1}\n key={messageName}\n />\n </li>\n ))}\n </ul>\n </section>\n );\n};\n"]}
|
|
@@ -1,55 +1,58 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
5
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Operation = void 0;
|
|
17
|
+
exports.OperationInfo = exports.Operation = void 0;
|
|
7
18
|
var react_1 = __importDefault(require("react"));
|
|
8
19
|
var Message_1 = require("../Messages/Message");
|
|
20
|
+
var Security_1 = require("../Servers/Security");
|
|
9
21
|
var components_1 = require("../../components");
|
|
22
|
+
var contexts_1 = require("../../contexts");
|
|
10
23
|
var helpers_1 = require("../../helpers");
|
|
11
24
|
var constants_1 = require("../../constants");
|
|
12
25
|
var types_1 = require("../../types");
|
|
13
|
-
|
|
14
|
-
var
|
|
15
|
-
|
|
26
|
+
var Operation = function (props) {
|
|
27
|
+
var config = (0, contexts_1.useConfig)();
|
|
28
|
+
var _a = props.type, type = _a === void 0 ? types_1.PayloadType.PUBLISH : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
29
|
+
if (!operation || !channel) {
|
|
16
30
|
return null;
|
|
17
31
|
}
|
|
18
|
-
var
|
|
19
|
-
var
|
|
32
|
+
var servers = typeof channel.servers === 'function' && channel.servers();
|
|
33
|
+
var security = typeof operation.security === 'function' && operation.security();
|
|
20
34
|
var parameters = helpers_1.SchemaHelpers.parametersToSchema(channel.parameters());
|
|
21
|
-
|
|
22
|
-
return (react_1.default.createElement("div", { id: "operation-" + type + "-" + channelName },
|
|
35
|
+
return (react_1.default.createElement("div", null,
|
|
23
36
|
react_1.default.createElement("div", { className: "panel-item--center px-8" },
|
|
24
|
-
react_1.default.createElement(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
channel.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
32
|
-
react_1.default.createElement(components_1.Markdown, null, channel.description()))),
|
|
33
|
-
operationSummary && (react_1.default.createElement("p", { className: "text-gray-600 text-sm mt-2" }, operationSummary)),
|
|
34
|
-
operation.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
35
|
-
react_1.default.createElement(components_1.Markdown, null, operation.description()))),
|
|
36
|
-
externalDocs && (react_1.default.createElement("ul", { className: "leading-normal mt-2 mb-4 space-x-2 space-y-2" }, externalDocs && (react_1.default.createElement("li", { className: "inline-block" },
|
|
37
|
-
react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: externalDocs.url() },
|
|
38
|
-
react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))))),
|
|
39
|
-
operationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
|
|
40
|
-
react_1.default.createElement("div", { className: "text-sm text-gray-700" },
|
|
41
|
-
"Operation ID",
|
|
42
|
-
react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs ml-2 py-0 px-2" }, operationId)))),
|
|
43
|
-
parameters && (react_1.default.createElement("div", { className: "mt-2" },
|
|
37
|
+
react_1.default.createElement(exports.OperationInfo, __assign({}, props)),
|
|
38
|
+
servers && servers.length > 0 ? (react_1.default.createElement("div", { className: "mt-2 text-sm" },
|
|
39
|
+
react_1.default.createElement("p", null, "Available only on servers:"),
|
|
40
|
+
react_1.default.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2", key: server },
|
|
41
|
+
react_1.default.createElement("a", { href: "#".concat(helpers_1.CommonHelpers.getIdentifier('server-' + server, config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
42
|
+
react_1.default.createElement("span", { className: "underline" }, server)))); })))) : null,
|
|
43
|
+
parameters && (react_1.default.createElement("div", { className: "mt-2", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-parameters"), config) },
|
|
44
44
|
react_1.default.createElement(components_1.Schema, { schemaName: "Parameters", schema: parameters, expanded: true }))),
|
|
45
|
-
|
|
46
|
-
react_1.default.createElement(
|
|
45
|
+
security && (react_1.default.createElement("div", { className: "mt-2", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-security"), config) },
|
|
46
|
+
react_1.default.createElement(Security_1.Security, { security: security, header: "Additional security requirements" }))),
|
|
47
47
|
channel.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
48
|
-
react_1.default.createElement(components_1.Bindings, { name: "Channel
|
|
49
|
-
react_1.default.createElement(components_1.Extensions, { item:
|
|
48
|
+
react_1.default.createElement(components_1.Bindings, { name: "Channel specific information", bindings: channel.bindings() }))),
|
|
49
|
+
react_1.default.createElement(components_1.Extensions, { name: "Channel Extensions", item: channel }),
|
|
50
|
+
operation.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
51
|
+
react_1.default.createElement(components_1.Bindings, { name: "Operation specific information", bindings: operation.bindings() }))),
|
|
52
|
+
react_1.default.createElement(components_1.Extensions, { name: "Operation Extensions", item: operation }),
|
|
50
53
|
operation.hasTags() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
51
54
|
react_1.default.createElement(components_1.Tags, { tags: operation.tags() })))),
|
|
52
|
-
react_1.default.createElement("div", { className: "w-full mt-4" }, operation.hasMultipleMessages() ? (react_1.default.createElement("div", { className: "mt-2" },
|
|
55
|
+
react_1.default.createElement("div", { className: "w-full mt-4", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-message"), config) }, operation.hasMultipleMessages() ? (react_1.default.createElement("div", { className: "mt-2" },
|
|
53
56
|
react_1.default.createElement("p", { className: "px-8" },
|
|
54
57
|
"Accepts ",
|
|
55
58
|
react_1.default.createElement("strong", null, "one of"),
|
|
@@ -60,4 +63,32 @@ exports.Operation = function (_a) {
|
|
|
60
63
|
react_1.default.createElement("div", { className: "mt-2" },
|
|
61
64
|
react_1.default.createElement(Message_1.Message, { message: operation.message(0), showExamples: true })))))));
|
|
62
65
|
};
|
|
66
|
+
exports.Operation = Operation;
|
|
67
|
+
var OperationInfo = function (_a) {
|
|
68
|
+
var _b = _a.type, type = _b === void 0 ? types_1.PayloadType.PUBLISH : _b, operation = _a.operation, channelName = _a.channelName, channel = _a.channel;
|
|
69
|
+
var operationSummary = operation.summary();
|
|
70
|
+
var externalDocs = operation.externalDocs();
|
|
71
|
+
var operationId = operation.id();
|
|
72
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
73
|
+
react_1.default.createElement("div", { className: "mb-4" },
|
|
74
|
+
react_1.default.createElement("h3", null,
|
|
75
|
+
react_1.default.createElement("span", { className: "font-mono border uppercase p-1 rounded mr-2 ".concat(type === types_1.PayloadType.PUBLISH
|
|
76
|
+
? 'border-blue-600 text-blue-500'
|
|
77
|
+
: 'border-green-600 text-green-600'), title: type }, type === types_1.PayloadType.PUBLISH ? 'PUB' : 'SUB'),
|
|
78
|
+
' ',
|
|
79
|
+
react_1.default.createElement("span", { className: "font-mono text-base" }, channelName))),
|
|
80
|
+
channel.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
81
|
+
react_1.default.createElement(components_1.Markdown, null, channel.description()))),
|
|
82
|
+
operationSummary && (react_1.default.createElement("p", { className: "text-gray-600 text-sm mt-2" }, operationSummary)),
|
|
83
|
+
operation.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
84
|
+
react_1.default.createElement(components_1.Markdown, null, operation.description()))),
|
|
85
|
+
externalDocs && (react_1.default.createElement("ul", { className: "leading-normal mt-2 mb-4 space-x-2 space-y-2" }, externalDocs && (react_1.default.createElement("li", { className: "inline-block" },
|
|
86
|
+
react_1.default.createElement(components_1.Href, { className: "border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1", href: externalDocs.url() },
|
|
87
|
+
react_1.default.createElement("span", null, constants_1.EXTERAL_DOCUMENTATION_TEXT)))))),
|
|
88
|
+
operationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
|
|
89
|
+
react_1.default.createElement("div", { className: "text-sm text-gray-700" },
|
|
90
|
+
"Operation ID",
|
|
91
|
+
react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs ml-2 py-0 px-2" }, operationId))))));
|
|
92
|
+
};
|
|
93
|
+
exports.OperationInfo = OperationInfo;
|
|
63
94
|
//# sourceMappingURL=Operation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Channel, Operation as OperationType } from '@asyncapi/parser';\n\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Href,\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n} from '../../components';\n\nimport { useConfig } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport { EXTERAL_DOCUMENTATION_TEXT } from '../../constants';\nimport { PayloadType } from '../../types';\n\ninterface Props {\n type: PayloadType;\n operation: OperationType;\n channelName: string;\n channel: Channel;\n}\n\nexport const Operation: React.FunctionComponent<Props> = props => {\n const config = useConfig();\n const { type = PayloadType.PUBLISH, operation, channelName, channel } = props;\n\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers = typeof channel.servers === 'function' && channel.servers();\n // check typeof as fallback for older version than `2.4.0`\n const security =\n typeof operation.security === 'function' && operation.security();\n const parameters = SchemaHelpers.parametersToSchema(channel.parameters());\n\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <OperationInfo {...props} />\n\n {servers && servers.length > 0 ? (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map(server => (\n <li className=\"inline-block mt-2 mr-2\" key={server as string}>\n <a\n href={`#${CommonHelpers.getIdentifier(\n 'server-' + server,\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema\n schemaName=\"Parameters\"\n schema={parameters}\n expanded={true}\n />\n </div>\n )}\n\n {security && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-security`,\n config,\n )}\n >\n <Security\n security={security}\n header=\"Additional security requirements\"\n />\n </div>\n )}\n\n {channel.hasBindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Channel specific information\"\n bindings={channel.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Channel Extensions\" item={channel} />\n\n {operation.hasBindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Operation specific information\"\n bindings={operation.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Operation Extensions\" item={operation} />\n\n {operation.hasTags() && (\n <div className=\"mt-2\">\n <Tags tags={operation.tags()} />\n </div>\n )}\n </div>\n\n <div\n className=\"w-full mt-4\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-message`,\n config,\n )}\n >\n {operation.hasMultipleMessages() ? (\n <div className=\"mt-2\">\n <p className=\"px-8\">\n Accepts <strong>one of</strong> the following messages:\n </p>\n <ul>\n {operation.messages().map((msg, idx) => (\n <li className=\"mt-4\" key={idx}>\n <Message message={msg} index={idx} showExamples={true} />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <p className=\"px-8\">Accepts the following message:</p>\n <div className=\"mt-2\">\n <Message\n message={(operation.message as (index: number) => any)(0)}\n showExamples={true}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.PUBLISH,\n operation,\n channelName,\n channel,\n}) => {\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono border uppercase p-1 rounded mr-2 ${\n type === PayloadType.PUBLISH\n ? 'border-blue-600 text-blue-500'\n : 'border-green-600 text-green-600'\n }`}\n title={type}\n >\n {type === PayloadType.PUBLISH ? 'PUB' : 'SUB'}\n </span>{' '}\n <span className=\"font-mono text-base\">{channelName}</span>\n </h3>\n </div>\n\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {operationSummary && (\n <p className=\"text-gray-600 text-sm mt-2\">{operationSummary}</p>\n )}\n {operation.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{operation.description()}</Markdown>\n </div>\n )}\n\n {externalDocs && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {operationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Operation ID\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {operationId}\n </span>\n </div>\n </div>\n )}\n </>\n );\n};\n"]}
|
|
@@ -7,10 +7,12 @@ exports.Operations = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var Operation_1 = require("./Operation");
|
|
9
9
|
var contexts_1 = require("../../contexts");
|
|
10
|
-
var
|
|
10
|
+
var helpers_1 = require("../../helpers");
|
|
11
11
|
var constants_1 = require("../../constants");
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
var types_1 = require("../../types");
|
|
13
|
+
var Operations = function () {
|
|
14
|
+
var channels = (0, contexts_1.useSpec)().channels();
|
|
15
|
+
var config = (0, contexts_1.useConfig)();
|
|
14
16
|
if (!Object.keys(channels).length) {
|
|
15
17
|
return null;
|
|
16
18
|
}
|
|
@@ -18,16 +20,17 @@ exports.Operations = function () {
|
|
|
18
20
|
Object.entries(channels).forEach(function (_a) {
|
|
19
21
|
var channelName = _a[0], channel = _a[1];
|
|
20
22
|
if (channel.hasPublish()) {
|
|
21
|
-
operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "pub-"
|
|
23
|
+
operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "pub-".concat(channelName), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.PUBLISH, "-").concat(channelName), config) },
|
|
22
24
|
react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.PUBLISH, operation: channel.publish(), channelName: channelName, channel: channel })));
|
|
23
25
|
}
|
|
24
26
|
if (channel.hasSubscribe()) {
|
|
25
|
-
operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "sub-"
|
|
27
|
+
operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "sub-".concat(channelName), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.SUBSCRIBE, "-").concat(channelName), config) },
|
|
26
28
|
react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.SUBSCRIBE, operation: channel.subscribe(), channelName: channelName, channel: channel })));
|
|
27
29
|
}
|
|
28
30
|
});
|
|
29
|
-
return (react_1.default.createElement("section", { id: "operations
|
|
31
|
+
return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('operations', config)), className: "mt-16" },
|
|
30
32
|
react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.OPERATIONS_TEXT),
|
|
31
33
|
react_1.default.createElement("ul", null, operationsList)));
|
|
32
34
|
};
|
|
35
|
+
exports.Operations = Operations;
|
|
33
36
|
//# sourceMappingURL=Operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAAwC;AAExC,
|
|
1
|
+
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAAwC;AAExC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAAkD;AAClD,qCAA0C;AAEnC,IAAM,UAAU,GAA4B;IACjD,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IAED,IAAM,cAAc,GAAyB,EAAE,CAAC;IAChD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,EAAsB;YAArB,WAAW,QAAA,EAAE,OAAO,QAAA;QACrD,IAAI,OAAO,CAAC,UAAU,EAAE,EAAE;YACxB,cAAc,CAAC,IAAI,CACjB,sCACE,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,cAAO,WAAW,CAAE,EACzB,EAAE,EAAE,uBAAa,CAAC,aAAa,CAC7B,oBAAa,mBAAW,CAAC,OAAO,cAAI,WAAW,CAAE,EACjD,MAAM,CACP;gBAED,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,OAAO,EACzB,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,EAC5B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CAAC;SACH;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,EAAE;YAC1B,cAAc,CAAC,IAAI,CACjB,sCACE,SAAS,EAAC,OAAO,EACjB,GAAG,EAAE,cAAO,WAAW,CAAE,EACzB,EAAE,EAAE,uBAAa,CAAC,aAAa,CAC7B,oBAAa,mBAAW,CAAC,SAAS,cAAI,WAAW,CAAE,EACnD,MAAM,CACP;gBAED,8BAAC,qBAAS,IACR,IAAI,EAAE,mBAAW,CAAC,SAAS,EAC3B,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAC9B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,2CACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,CAAE,EAC1D,SAAS,EAAC,OAAO;QAEjB,sCAAI,SAAS,EAAC,0CAA0C,IACrD,2BAAe,CACb;QACL,0CAAK,cAAc,CAAM,CACjB,CACX,CAAC;AACJ,CAAC,CAAC;AA7DW,QAAA,UAAU,cA6DrB","sourcesContent":["import React from 'react';\n\nimport { Operation } from './Operation';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { OPERATIONS_TEXT } from '../../constants';\nimport { PayloadType } from '../../types';\n\nexport const Operations: React.FunctionComponent = () => {\n const channels = useSpec().channels();\n const config = useConfig();\n\n if (!Object.keys(channels).length) {\n return null;\n }\n\n const operationsList: React.ReactNodeArray = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (channel.hasPublish()) {\n operationsList.push(\n <li\n className=\"mb-12\"\n key={`pub-${channelName}`}\n id={CommonHelpers.getIdentifier(\n `operation-${PayloadType.PUBLISH}-${channelName}`,\n config,\n )}\n >\n <Operation\n type={PayloadType.PUBLISH}\n operation={channel.publish()}\n channelName={channelName}\n channel={channel}\n />\n </li>,\n );\n }\n if (channel.hasSubscribe()) {\n operationsList.push(\n <li\n className=\"mb-12\"\n key={`sub-${channelName}`}\n id={CommonHelpers.getIdentifier(\n `operation-${PayloadType.SUBSCRIBE}-${channelName}`,\n config,\n )}\n >\n <Operation\n type={PayloadType.SUBSCRIBE}\n operation={channel.subscribe()}\n channelName={channelName}\n channel={channel}\n />\n </li>,\n );\n }\n });\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('operations', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {OPERATIONS_TEXT}\n </h2>\n <ul>{operationsList}</ul>\n </section>\n );\n};\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Schema = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var components_1 = require("../../components");
|
|
9
|
+
var Schema = function (_a) {
|
|
10
|
+
var schemaName = _a.schemaName, schema = _a.schema;
|
|
11
|
+
if (!schema) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return (react_1.default.createElement("div", null,
|
|
15
|
+
react_1.default.createElement("div", { className: "panel-item--center px-8" },
|
|
16
|
+
react_1.default.createElement("div", { className: "shadow rounded px-4 py-2 border bg-gray-200" },
|
|
17
|
+
react_1.default.createElement(components_1.Schema, { schemaName: schemaName, schema: schema }))),
|
|
18
|
+
react_1.default.createElement("div", { className: "w-full mt-4" })));
|
|
19
|
+
};
|
|
20
|
+
exports.Schema = Schema;
|
|
21
|
+
//# sourceMappingURL=Schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../../../src/containers/Schemas/Schema.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAG1B,+CAA6D;AAOtD,IAAM,MAAM,GAAmC,UAAC,EAGtD;QAFC,UAAU,gBAAA,EACV,MAAM,YAAA;IAEN,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL;QACE,uCAAK,SAAS,EAAC,yBAAyB;YACtC,uCAAK,SAAS,EAAC,6CAA6C;gBAC1D,8BAAC,mBAAe,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,CACvD,CACF;QAEN,uCAAK,SAAS,EAAC,aAAa,GAAG,CAC3B,CACP,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,MAAM,UAmBjB","sourcesContent":["import React from 'react';\nimport { Schema as SchemaType } from '@asyncapi/parser';\n\nimport { Schema as SchemaComponent } from '../../components';\n\ninterface Props {\n schemaName: string;\n schema: SchemaType;\n}\n\nexport const Schema: React.FunctionComponent<Props> = ({\n schemaName,\n schema,\n}) => {\n if (!schema) {\n return null;\n }\n\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <div className=\"shadow rounded px-4 py-2 border bg-gray-200\">\n <SchemaComponent schemaName={schemaName} schema={schema} />\n </div>\n </div>\n\n <div className=\"w-full mt-4\" />\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Schemas = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var Schema_1 = require("./Schema");
|
|
9
|
+
var contexts_1 = require("../../contexts");
|
|
10
|
+
var helpers_1 = require("../../helpers");
|
|
11
|
+
var constants_1 = require("../../constants");
|
|
12
|
+
var Schemas = function () {
|
|
13
|
+
var asyncapi = (0, contexts_1.useSpec)();
|
|
14
|
+
var config = (0, contexts_1.useConfig)();
|
|
15
|
+
var schemas = asyncapi.hasComponents() && asyncapi.components().schemas();
|
|
16
|
+
if (!schemas || Object.keys(schemas).length === 0) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('schemas', config)), className: "mt-16" },
|
|
20
|
+
react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.SCHEMAS_TEXT),
|
|
21
|
+
react_1.default.createElement("ul", null, Object.entries(schemas).map(function (_a) {
|
|
22
|
+
var schemaName = _a[0], schema = _a[1];
|
|
23
|
+
return (react_1.default.createElement("li", { className: "mb-4", key: schemaName, id: helpers_1.CommonHelpers.getIdentifier("schema-".concat(schemaName), config) },
|
|
24
|
+
react_1.default.createElement(Schema_1.Schema, { schemaName: schemaName, schema: schema })));
|
|
25
|
+
}))));
|
|
26
|
+
};
|
|
27
|
+
exports.Schemas = Schemas;
|
|
28
|
+
//# sourceMappingURL=Schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schemas.js","sourceRoot":"","sources":["../../../../src/containers/Schemas/Schemas.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,mCAAkC;AAElC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAA+C;AAExC,IAAM,OAAO,GAA4B;IAC9C,IAAM,QAAQ,GAAG,IAAA,kBAAO,GAAE,CAAC;IAC3B,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAC3B,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC;IAE5E,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QACjD,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,2CACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAE,EACvD,SAAS,EAAC,OAAO;QAEjB,sCAAI,SAAS,EAAC,0CAA0C,IACrD,wBAAY,CACV;QACL,0CACG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,EAAoB;gBAAnB,UAAU,QAAA,EAAE,MAAM,QAAA;YAAM,OAAA,CACrD,sCACE,SAAS,EAAC,MAAM,EAChB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,uBAAa,CAAC,aAAa,CAAC,iBAAU,UAAU,CAAE,EAAE,MAAM,CAAC;gBAE/D,8BAAC,eAAM,IAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,CAC/C,CACN;QARsD,CAQtD,CAAC,CACC,CACG,CACX,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,OAAO,WA8BlB","sourcesContent":["import React from 'react';\n\nimport { Schema } from './Schema';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { SCHEMAS_TEXT } from '../../constants';\n\nexport const Schemas: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const config = useConfig();\n const schemas = asyncapi.hasComponents() && asyncapi.components().schemas();\n\n if (!schemas || Object.keys(schemas).length === 0) {\n return null;\n }\n\n return (\n <section\n id={`${CommonHelpers.getIdentifier('schemas', config)}`}\n className=\"mt-16\"\n >\n <h2 className=\"2xl:w-7/12 text-3xl font-light mb-4 px-8\">\n {SCHEMAS_TEXT}\n </h2>\n <ul>\n {Object.entries(schemas).map(([schemaName, schema]) => (\n <li\n className=\"mb-4\"\n key={schemaName}\n id={CommonHelpers.getIdentifier(`schema-${schemaName}`, config)}\n >\n <Schema schemaName={schemaName} schema={schema} />\n </li>\n ))}\n </ul>\n </section>\n );\n};\n"]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Security = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var components_1 = require("../../components");
|
|
9
|
+
var contexts_1 = require("../../contexts");
|
|
10
|
+
var helpers_1 = require("../../helpers");
|
|
11
|
+
var Security = function (_a) {
|
|
12
|
+
var _b = _a.security, security = _b === void 0 ? [] : _b, _c = _a.protocol, protocol = _c === void 0 ? '' : _c, _d = _a.header, header = _d === void 0 ? 'Security' : _d;
|
|
13
|
+
var asyncapi = (0, contexts_1.useSpec)();
|
|
14
|
+
var securitySchemes = asyncapi.hasComponents() && asyncapi.components().securitySchemes();
|
|
15
|
+
var renderedSecurities;
|
|
16
|
+
if (!security ||
|
|
17
|
+
!security.length ||
|
|
18
|
+
!securitySchemes ||
|
|
19
|
+
!Object.keys(securitySchemes).length) {
|
|
20
|
+
if (protocol === 'kafka' || protocol === 'kafka-secure') {
|
|
21
|
+
renderedSecurities = (react_1.default.createElement(SecurityItem, { protocol: protocol, securitySchema: null }));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
var securities = security
|
|
26
|
+
.map(function (requirement) {
|
|
27
|
+
var requirements = requirement.json();
|
|
28
|
+
var key = Object.keys(requirements)[0];
|
|
29
|
+
var def = securitySchemes[String(key)];
|
|
30
|
+
var requiredScopes = requirements[String(key)];
|
|
31
|
+
if (!def) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return (react_1.default.createElement(SecurityItem, { protocol: protocol, securitySchema: def, requiredScopes: requiredScopes, key: def.type() }));
|
|
35
|
+
})
|
|
36
|
+
.filter(Boolean);
|
|
37
|
+
renderedSecurities = (react_1.default.createElement("ul", null, securities.map(function (s, idx) { return (react_1.default.createElement("li", { className: "mt-2", key: idx }, s)); })));
|
|
38
|
+
}
|
|
39
|
+
if (!renderedSecurities) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return (react_1.default.createElement("div", { className: "text-sm mt-4" },
|
|
43
|
+
react_1.default.createElement("h5", { className: "text-gray-800" },
|
|
44
|
+
header,
|
|
45
|
+
":"),
|
|
46
|
+
renderedSecurities));
|
|
47
|
+
};
|
|
48
|
+
exports.Security = Security;
|
|
49
|
+
function collectSecuritySchemas(securitySchema, requiredScopes) {
|
|
50
|
+
if (requiredScopes === void 0) { requiredScopes = []; }
|
|
51
|
+
var schemas = [];
|
|
52
|
+
if (securitySchema) {
|
|
53
|
+
if (securitySchema.name()) {
|
|
54
|
+
schemas.push(react_1.default.createElement("span", null,
|
|
55
|
+
"Name: ",
|
|
56
|
+
securitySchema.name()));
|
|
57
|
+
}
|
|
58
|
+
if (securitySchema.in()) {
|
|
59
|
+
schemas.push(react_1.default.createElement("span", null,
|
|
60
|
+
"In: ",
|
|
61
|
+
securitySchema.in()));
|
|
62
|
+
}
|
|
63
|
+
if (securitySchema.scheme()) {
|
|
64
|
+
schemas.push(react_1.default.createElement("span", null,
|
|
65
|
+
"Scheme: ",
|
|
66
|
+
securitySchema.scheme()));
|
|
67
|
+
}
|
|
68
|
+
if (securitySchema.bearerFormat()) {
|
|
69
|
+
schemas.push(react_1.default.createElement("span", null,
|
|
70
|
+
"Bearer format: ",
|
|
71
|
+
securitySchema.bearerFormat()));
|
|
72
|
+
}
|
|
73
|
+
if (securitySchema.openIdConnectUrl()) {
|
|
74
|
+
schemas.push(react_1.default.createElement(components_1.Href, { href: securitySchema.openIdConnectUrl(), className: "underline" }, "Connect URL"));
|
|
75
|
+
}
|
|
76
|
+
if (requiredScopes.length) {
|
|
77
|
+
schemas.push(react_1.default.createElement("span", null,
|
|
78
|
+
"Required scopes: ",
|
|
79
|
+
requiredScopes.join(', ')));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return schemas;
|
|
83
|
+
}
|
|
84
|
+
var SecurityItem = function (_a) {
|
|
85
|
+
var securitySchema = _a.securitySchema, protocol = _a.protocol, requiredScopes = _a.requiredScopes;
|
|
86
|
+
var schemas = collectSecuritySchemas(securitySchema, requiredScopes);
|
|
87
|
+
var renderedKafkaSecurity;
|
|
88
|
+
if (['kafka', 'kafka-secure'].includes(protocol)) {
|
|
89
|
+
var _b = helpers_1.ServerHelpers.getKafkaSecurity(protocol, securitySchema), securityProtocol = _b.securityProtocol, saslMechanism = _b.saslMechanism;
|
|
90
|
+
renderedKafkaSecurity = (react_1.default.createElement("div", { className: "px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded" },
|
|
91
|
+
securityProtocol && (react_1.default.createElement("div", { className: "mt-1" },
|
|
92
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "security.protocol:"),
|
|
93
|
+
react_1.default.createElement("span", { className: "inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1" }, securityProtocol))),
|
|
94
|
+
saslMechanism && (react_1.default.createElement("div", { className: "mt-1" },
|
|
95
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "sasl.mechanism:"),
|
|
96
|
+
react_1.default.createElement("span", { className: "inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1" }, saslMechanism)))));
|
|
97
|
+
}
|
|
98
|
+
var flows = securitySchema && securitySchema.flows();
|
|
99
|
+
var renderedFlows = flows &&
|
|
100
|
+
Object.entries(flows).map(function (_a) {
|
|
101
|
+
var flowName = _a[0], flow = _a[1];
|
|
102
|
+
var authorizationUrl = flow.authorizationUrl();
|
|
103
|
+
var tokenUrl = flow.tokenUrl();
|
|
104
|
+
var refreshUrl = flow.refreshUrl();
|
|
105
|
+
var scopes = flow.scopes();
|
|
106
|
+
return (react_1.default.createElement("div", { className: "px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded", key: flowName },
|
|
107
|
+
react_1.default.createElement("div", null,
|
|
108
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Flow:"),
|
|
109
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, helpers_1.ServerHelpers.flowName(flowName))),
|
|
110
|
+
authorizationUrl && (react_1.default.createElement("div", { className: "mt-1" },
|
|
111
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Auth URL:"),
|
|
112
|
+
react_1.default.createElement(components_1.Href, { href: authorizationUrl, className: "underline" }, authorizationUrl))),
|
|
113
|
+
tokenUrl && (react_1.default.createElement("div", { className: "mt-1" },
|
|
114
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Token URL:"),
|
|
115
|
+
react_1.default.createElement(components_1.Href, { href: tokenUrl, className: "underline" }, tokenUrl))),
|
|
116
|
+
refreshUrl && (react_1.default.createElement("div", { className: "mt-1" },
|
|
117
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Refresh URL:"),
|
|
118
|
+
react_1.default.createElement(components_1.Href, { href: refreshUrl, className: "underline" }, refreshUrl))),
|
|
119
|
+
scopes && (react_1.default.createElement("div", { className: "mt-1" },
|
|
120
|
+
react_1.default.createElement("span", { className: "text-xs font-bold text-gray-600 mt-1 mr-1 uppercase" }, "Scopes:"),
|
|
121
|
+
react_1.default.createElement("ul", { className: "inline-block" }, scopes &&
|
|
122
|
+
Object.entries(scopes).map(function (_a) {
|
|
123
|
+
var scopeName = _a[0], scopeDesc = _a[1];
|
|
124
|
+
return (react_1.default.createElement("li", { className: "inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1", title: scopeDesc, key: scopeName }, scopeName));
|
|
125
|
+
}))))));
|
|
126
|
+
});
|
|
127
|
+
return (react_1.default.createElement("div", null,
|
|
128
|
+
securitySchema && schemas && (react_1.default.createElement("div", null,
|
|
129
|
+
react_1.default.createElement("span", null,
|
|
130
|
+
helpers_1.ServerHelpers.securityType(securitySchema.type()),
|
|
131
|
+
schemas.length > 0 && (react_1.default.createElement("ul", { className: "inline-block ml-2" }, schemas.map(function (schema, idx) { return (react_1.default.createElement("li", { className: "inline-block font-bold no-underline bg-blue-400 text-white text-xs uppercase rounded px-2 py-0 ml-1", key: idx }, schema)); })))))),
|
|
132
|
+
securitySchema && securitySchema.hasDescription() && (react_1.default.createElement("div", null,
|
|
133
|
+
react_1.default.createElement(components_1.Markdown, null, securitySchema.description()))),
|
|
134
|
+
renderedFlows && renderedFlows.length > 0 && (react_1.default.createElement("ul", { className: "my-2" },
|
|
135
|
+
react_1.default.createElement("li", null, renderedFlows))),
|
|
136
|
+
renderedKafkaSecurity && react_1.default.createElement("div", null, renderedKafkaSecurity)));
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=Security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Security.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Security.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { ServerSecurityRequirement, SecurityScheme } from '@asyncapi/parser';\n\nimport { Href, Markdown } from '../../components';\n\nimport { useSpec } from '../../contexts';\nimport { ServerHelpers } from '../../helpers';\n\ninterface Props {\n security: ServerSecurityRequirement[];\n protocol?: string;\n header?: string;\n}\n\nexport const Security: React.FunctionComponent<Props> = ({\n security = [],\n protocol = '',\n header = 'Security',\n}) => {\n const asyncapi = useSpec();\n const securitySchemes =\n asyncapi.hasComponents() && asyncapi.components().securitySchemes();\n\n let renderedSecurities;\n if (\n !security ||\n !security.length ||\n !securitySchemes ||\n !Object.keys(securitySchemes).length\n ) {\n if (protocol === 'kafka' || protocol === 'kafka-secure') {\n renderedSecurities = (\n <SecurityItem protocol={protocol} securitySchema={null} />\n );\n }\n } else {\n const securities: React.ReactNodeArray = security\n .map(requirement => {\n const requirements = requirement.json();\n const key = Object.keys(requirements)[0];\n const def = securitySchemes[String(key)];\n const requiredScopes: string[] = requirements[String(key)];\n\n if (!def) {\n return null;\n }\n return (\n <SecurityItem\n protocol={protocol}\n securitySchema={def}\n requiredScopes={requiredScopes}\n key={def.type()}\n />\n );\n })\n .filter(Boolean);\n\n renderedSecurities = (\n <ul>\n {securities.map((s, idx) => (\n <li className=\"mt-2\" key={idx}>\n {s}\n </li>\n ))}\n </ul>\n );\n }\n\n if (!renderedSecurities) {\n return null;\n }\n\n return (\n <div className=\"text-sm mt-4\">\n <h5 className=\"text-gray-800\">{header}:</h5>\n {renderedSecurities}\n </div>\n );\n};\n\nfunction collectSecuritySchemas(\n securitySchema: SecurityScheme | null,\n requiredScopes: string[] = [],\n): React.ReactNodeArray {\n const schemas: React.ReactNodeArray = [];\n if (securitySchema) {\n if (securitySchema.name()) {\n schemas.push(<span>Name: {securitySchema.name()}</span>);\n }\n if (securitySchema.in()) {\n schemas.push(<span>In: {securitySchema.in()}</span>);\n }\n if (securitySchema.scheme()) {\n schemas.push(<span>Scheme: {securitySchema.scheme()}</span>);\n }\n if (securitySchema.bearerFormat()) {\n schemas.push(<span>Bearer format: {securitySchema.bearerFormat()}</span>);\n }\n if (securitySchema.openIdConnectUrl()) {\n schemas.push(\n <Href href={securitySchema.openIdConnectUrl()} className=\"underline\">\n Connect URL\n </Href>,\n );\n }\n if (requiredScopes.length) {\n schemas.push(<span>Required scopes: {requiredScopes.join(', ')}</span>);\n }\n }\n return schemas;\n}\n\ninterface SecurityItemProps {\n securitySchema: SecurityScheme | null;\n protocol: string;\n requiredScopes?: string[];\n}\n\nconst SecurityItem: React.FunctionComponent<SecurityItemProps> = ({\n securitySchema,\n protocol,\n requiredScopes,\n}) => {\n const schemas: React.ReactNodeArray = collectSecuritySchemas(\n securitySchema,\n requiredScopes,\n );\n\n let renderedKafkaSecurity;\n if (['kafka', 'kafka-secure'].includes(protocol)) {\n const { securityProtocol, saslMechanism } = ServerHelpers.getKafkaSecurity(\n protocol,\n securitySchema,\n );\n\n renderedKafkaSecurity = (\n <div className=\"px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded\">\n {securityProtocol && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n security.protocol:\n </span>\n <span className=\"inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\">\n {securityProtocol}\n </span>\n </div>\n )}\n {saslMechanism && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n sasl.mechanism:\n </span>\n <span className=\"inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\">\n {saslMechanism}\n </span>\n </div>\n )}\n </div>\n );\n }\n\n const flows = securitySchema && securitySchema.flows();\n const renderedFlows =\n flows &&\n Object.entries(flows).map(([flowName, flow]) => {\n const authorizationUrl = flow.authorizationUrl();\n const tokenUrl = flow.tokenUrl();\n const refreshUrl = flow.refreshUrl();\n const scopes = flow.scopes();\n\n return (\n <div\n className=\"px-4 py-2 ml-2 mb-2 border border-gray-400 bg-gray-100 rounded\"\n key={flowName}\n >\n <div>\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Flow:\n </span>\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n {ServerHelpers.flowName(flowName)}\n </span>\n </div>\n\n {authorizationUrl && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Auth URL:\n </span>\n <Href href={authorizationUrl} className=\"underline\">\n {authorizationUrl}\n </Href>\n </div>\n )}\n {tokenUrl && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Token URL:\n </span>\n <Href href={tokenUrl} className=\"underline\">\n {tokenUrl}\n </Href>\n </div>\n )}\n {refreshUrl && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Refresh URL:\n </span>\n <Href href={refreshUrl} className=\"underline\">\n {refreshUrl}\n </Href>\n </div>\n )}\n {scopes && (\n <div className=\"mt-1\">\n <span className=\"text-xs font-bold text-gray-600 mt-1 mr-1 uppercase\">\n Scopes:\n </span>\n <ul className=\"inline-block\">\n {scopes &&\n Object.entries(scopes).map(([scopeName, scopeDesc]) => (\n <li\n className=\"inline-block font-bold no-underline bg-indigo-400 text-white text-xs rounded py-0 px-1 ml-1\"\n title={scopeDesc}\n key={scopeName}\n >\n {scopeName}\n </li>\n ))}\n </ul>\n </div>\n )}\n </div>\n );\n });\n\n return (\n <div>\n {securitySchema && schemas && (\n <div>\n <span>\n {ServerHelpers.securityType(securitySchema.type())}\n {schemas.length > 0 && (\n <ul className=\"inline-block ml-2\">\n {schemas.map((schema, idx) => (\n <li\n className=\"inline-block font-bold no-underline bg-blue-400 text-white text-xs uppercase rounded px-2 py-0 ml-1\"\n key={idx}\n >\n {schema}\n </li>\n ))}\n </ul>\n )}\n </span>\n </div>\n )}\n\n {securitySchema && securitySchema.hasDescription() && (\n <div>\n <Markdown>{securitySchema.description()}</Markdown>\n </div>\n )}\n\n {renderedFlows && renderedFlows.length > 0 && (\n <ul className=\"my-2\">\n <li>{renderedFlows}</li>\n </ul>\n )}\n\n {renderedKafkaSecurity && <div>{renderedKafkaSecurity}</div>}\n </div>\n );\n};\n"]}
|
|
@@ -5,33 +5,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Server = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
|
-
var
|
|
8
|
+
var Security_1 = require("./Security");
|
|
9
9
|
var components_1 = require("../../components");
|
|
10
|
+
var contexts_1 = require("../../contexts");
|
|
10
11
|
var helpers_1 = require("../../helpers");
|
|
11
|
-
|
|
12
|
+
var Server = function (_a) {
|
|
12
13
|
var serverName = _a.serverName, server = _a.server;
|
|
14
|
+
var config = (0, contexts_1.useConfig)();
|
|
13
15
|
if (!server) {
|
|
14
16
|
return null;
|
|
15
17
|
}
|
|
16
18
|
var urlVariables = helpers_1.SchemaHelpers.serverVariablesToSchema(server.variables());
|
|
17
19
|
var protocolVersion = server.protocolVersion();
|
|
18
|
-
var
|
|
20
|
+
var security = server.security();
|
|
19
21
|
return (react_1.default.createElement("div", { className: "panel-item" },
|
|
20
22
|
react_1.default.createElement("div", { className: "panel-item--center px-8" },
|
|
21
23
|
react_1.default.createElement("div", { className: "shadow rounded bg-gray-200 p-4 border bg-gray-100" },
|
|
22
24
|
react_1.default.createElement("div", null,
|
|
23
25
|
react_1.default.createElement("span", { className: "font-mono text-base" }, server.url()),
|
|
24
26
|
react_1.default.createElement("span", { className: "bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm" }, protocolVersion
|
|
25
|
-
? server.protocol()
|
|
27
|
+
? "".concat(server.protocol(), " ").concat(protocolVersion)
|
|
26
28
|
: server.protocol()),
|
|
27
29
|
react_1.default.createElement("span", { className: "bg-blue-500 font-bold no-underline text-white uppercase rounded px-2 py-1 text-sm" }, serverName)),
|
|
28
30
|
server.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
29
31
|
react_1.default.createElement(components_1.Markdown, null, server.description()))),
|
|
30
|
-
urlVariables && (react_1.default.createElement("div", { className: "mt-2" },
|
|
32
|
+
urlVariables && (react_1.default.createElement("div", { className: "mt-2", id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName, "-url-variables"), config)) },
|
|
31
33
|
react_1.default.createElement(components_1.Schema, { schemaName: "URL Variables", schema: urlVariables, expanded: true }))),
|
|
32
|
-
|
|
34
|
+
react_1.default.createElement("div", { id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName, "-security"), config)) },
|
|
35
|
+
react_1.default.createElement(Security_1.Security, { protocol: server.protocol(), security: security })),
|
|
33
36
|
server.hasBindings() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
34
|
-
react_1.default.createElement(components_1.Bindings, { bindings: server.bindings() }))))),
|
|
37
|
+
react_1.default.createElement(components_1.Bindings, { name: "Server specific information", bindings: server.bindings() }))))),
|
|
35
38
|
react_1.default.createElement("div", { className: "panel-item--right" })));
|
|
36
39
|
};
|
|
40
|
+
exports.Server = Server;
|
|
37
41
|
//# sourceMappingURL=Server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Server.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAG1B,
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/containers/Servers/Server.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAG1B,uCAAsC;AACtC,+CAA8D;AAE9D,2CAA2C;AAC3C,yCAA6D;AAOtD,IAAM,MAAM,GAAmC,UAAC,EAGtD;QAFC,UAAU,gBAAA,EACV,MAAM,YAAA;IAEN,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,IAAM,YAAY,GAAG,uBAAa,CAAC,uBAAuB,CACxD,MAAM,CAAC,SAAS,EAAE,CACnB,CAAC;IACF,IAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IACjD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAEnC,OAAO,CACL,uCAAK,SAAS,EAAC,YAAY;QACzB,uCAAK,SAAS,EAAC,yBAAyB;YACtC,uCAAK,SAAS,EAAC,mDAAmD;gBAChE;oBACE,wCAAM,SAAS,EAAC,qBAAqB,IAAE,MAAM,CAAC,GAAG,EAAE,CAAQ;oBAC3D,wCAAM,SAAS,EAAC,wFAAwF,IACrG,eAAe;wBACd,CAAC,CAAC,UAAG,MAAM,CAAC,QAAQ,EAAE,cAAI,eAAe,CAAE;wBAC3C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAChB;oBACP,wCAAM,SAAS,EAAC,mFAAmF,IAChG,UAAU,CACN,CACH;gBAEL,MAAM,CAAC,cAAc,EAAE,IAAI,CAC1B,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,QAAE,MAAM,CAAC,WAAW,EAAE,CAAY,CACvC,CACP;gBAEA,YAAY,IAAI,CACf,uCACE,SAAS,EAAC,MAAM,EAChB,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAChC,iBAAU,UAAU,mBAAgB,EACpC,MAAM,CACP,CAAE;oBAEH,8BAAC,mBAAM,IACL,UAAU,EAAC,eAAe,EAC1B,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,IAAI,GACd,CACE,CACP;gBAGC,uCACE,EAAE,EAAE,UAAG,uBAAa,CAAC,aAAa,CAChC,iBAAU,UAAU,cAAW,EAC/B,MAAM,CACP,CAAE;oBAEH,8BAAC,mBAAQ,IAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACzD;gBAGP,MAAM,CAAC,WAAW,EAAE,IAAI,CACvB,uCAAK,SAAS,EAAC,MAAM;oBACnB,8BAAC,qBAAQ,IACP,IAAI,EAAC,6BAA6B,EAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAC3B,CACE,CACP,CACG,CACF;QAEN,uCAAK,SAAS,EAAC,mBAAmB,GAAG,CACjC,CACP,CAAC;AACJ,CAAC,CAAC;AA/EW,QAAA,MAAM,UA+EjB","sourcesContent":["import React from 'react';\nimport { Server as ServerType } from '@asyncapi/parser';\n\nimport { Security } from './Security';\nimport { Markdown, Schema, Bindings } from '../../components';\n\nimport { useConfig } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\n\ninterface Props {\n serverName: string;\n server: ServerType;\n}\n\nexport const Server: React.FunctionComponent<Props> = ({\n serverName,\n server,\n}) => {\n const config = useConfig();\n\n if (!server) {\n return null;\n }\n\n const urlVariables = SchemaHelpers.serverVariablesToSchema(\n server.variables(),\n );\n const protocolVersion = server.protocolVersion();\n const security = server.security();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center px-8\">\n <div className=\"shadow rounded bg-gray-200 p-4 border bg-gray-100\">\n <div>\n <span className=\"font-mono text-base\">{server.url()}</span>\n <span className=\"bg-teal-500 font-bold no-underline text-white uppercase rounded mx-2 px-2 py-1 text-sm\">\n {protocolVersion\n ? `${server.protocol()} ${protocolVersion}`\n : server.protocol()}\n </span>\n <span className=\"bg-blue-500 font-bold no-underline text-white uppercase rounded px-2 py-1 text-sm\">\n {serverName}\n </span>\n </div>\n\n {server.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{server.description()}</Markdown>\n </div>\n )}\n\n {urlVariables && (\n <div\n className=\"mt-2\"\n id={`${CommonHelpers.getIdentifier(\n `server-${serverName}-url-variables`,\n config,\n )}`}\n >\n <Schema\n schemaName=\"URL Variables\"\n schema={urlVariables}\n expanded={true}\n />\n </div>\n )}\n\n {\n <div\n id={`${CommonHelpers.getIdentifier(\n `server-${serverName}-security`,\n config,\n )}`}\n >\n <Security protocol={server.protocol()} security={security} />\n </div>\n }\n\n {server.hasBindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Server specific information\"\n bindings={server.bindings()}\n />\n </div>\n )}\n </div>\n </div>\n\n <div className=\"panel-item--right\" />\n </div>\n );\n};\n"]}
|
|
@@ -7,18 +7,21 @@ exports.Servers = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var Server_1 = require("./Server");
|
|
9
9
|
var contexts_1 = require("../../contexts");
|
|
10
|
+
var helpers_1 = require("../../helpers");
|
|
10
11
|
var constants_1 = require("../../constants");
|
|
11
|
-
|
|
12
|
-
var servers = contexts_1.useSpec().servers();
|
|
12
|
+
var Servers = function () {
|
|
13
|
+
var servers = (0, contexts_1.useSpec)().servers();
|
|
14
|
+
var config = (0, contexts_1.useConfig)();
|
|
13
15
|
if (!Object.keys(servers).length) {
|
|
14
16
|
return null;
|
|
15
17
|
}
|
|
16
|
-
return (react_1.default.createElement("section", { id: "servers
|
|
18
|
+
return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('servers', config)), className: "mt-16" },
|
|
17
19
|
react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.SERVERS_TEXT),
|
|
18
20
|
react_1.default.createElement("ul", null, Object.entries(servers).map(function (_a) {
|
|
19
21
|
var serverName = _a[0], server = _a[1];
|
|
20
|
-
return (react_1.default.createElement("li", { className: "mb-4", key: serverName },
|
|
22
|
+
return (react_1.default.createElement("li", { className: "mb-4", key: serverName, id: "".concat(helpers_1.CommonHelpers.getIdentifier("server-".concat(serverName), config)) },
|
|
21
23
|
react_1.default.createElement(Server_1.Server, { serverName: serverName, server: server, key: serverName })));
|
|
22
24
|
}))));
|
|
23
25
|
};
|
|
26
|
+
exports.Servers = Servers;
|
|
24
27
|
//# sourceMappingURL=Servers.js.map
|