@asyncapi/react-component 1.2.12 → 1.2.14
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/browser/index.js +1 -1
- package/browser/standalone/index.js +11 -11
- package/browser/standalone/without-parser.js +1 -1
- package/browser/without-parser.js +1 -1
- package/lib/cjs/config/config.js.map +1 -1
- package/lib/cjs/config/default.js +4 -0
- package/lib/cjs/config/default.js.map +1 -1
- package/lib/cjs/containers/Operations/Operation.js +7 -40
- package/lib/cjs/containers/Operations/Operation.js.map +1 -1
- package/lib/cjs/containers/Operations/Operations.js +8 -23
- package/lib/cjs/containers/Operations/Operations.js.map +1 -1
- package/lib/cjs/containers/Sidebar/Sidebar.js +62 -53
- package/lib/cjs/containers/Sidebar/Sidebar.js.map +1 -1
- package/lib/cjs/helpers/common.js +69 -0
- package/lib/cjs/helpers/common.js.map +1 -1
- package/lib/esm/config/config.js.map +1 -1
- package/lib/esm/config/default.js +5 -1
- package/lib/esm/config/default.js.map +1 -1
- package/lib/esm/containers/Operations/Operation.js +8 -41
- package/lib/esm/containers/Operations/Operation.js.map +1 -1
- package/lib/esm/containers/Operations/Operations.js +8 -23
- package/lib/esm/containers/Operations/Operations.js.map +1 -1
- package/lib/esm/containers/Sidebar/Sidebar.js +62 -53
- package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
- package/lib/esm/helpers/common.js +69 -0
- package/lib/esm/helpers/common.js.map +1 -1
- package/lib/types/config/config.d.ts +1 -1
- package/lib/types/config/config.d.ts.map +1 -1
- package/lib/types/config/default.d.ts.map +1 -1
- 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/Sidebar/Sidebar.d.ts.map +1 -1
- package/lib/types/helpers/common.d.ts +16 -0
- package/lib/types/helpers/common.d.ts.map +1 -1
- package/package.json +2 -2
- package/styles/default.css +0 -19
- package/styles/default.min.css +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"","sourcesContent":["export interface ConfigInterface {\n schemaID?: string;\n show?: ShowConfig;\n expand?: ExpandConfig;\n sidebar?: SideBarConfig;\n parserOptions?: any;\n publishLabel?: string;\n
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"","sourcesContent":["export interface ConfigInterface {\n schemaID?: string;\n show?: ShowConfig;\n expand?: ExpandConfig;\n sidebar?: SideBarConfig;\n parserOptions?: any;\n publishLabel?: string;\n subscribeLabel?: string;\n sendLabel?: string;\n receiveLabel?: string;\n requestLabel?: string;\n replyLabel?: string;\n}\n\nexport interface ShowConfig {\n sidebar?: boolean;\n info?: boolean;\n servers?: boolean;\n operations?: boolean;\n messages?: boolean;\n schemas?: boolean;\n errors?: boolean;\n}\n\nexport interface ExpandConfig {\n messageExamples?: boolean;\n}\n\nexport interface SideBarConfig {\n showServers?: 'byDefault' | 'bySpecTags' | 'byServersTags';\n showOperations?: 'byDefault' | 'bySpecTags' | 'byOperationsTags';\n}\n"]}
|
|
@@ -22,5 +22,9 @@ exports.defaultConfig = {
|
|
|
22
22
|
},
|
|
23
23
|
publishLabel: constants_1.PUBLISH_LABEL_DEFAULT_TEXT,
|
|
24
24
|
subscribeLabel: constants_1.SUBSCRIBE_LABEL_DEFAULT_TEXT,
|
|
25
|
+
sendLabel: constants_1.SEND_LABEL_DEFAULT_TEXT,
|
|
26
|
+
receiveLabel: constants_1.RECEIVE_TEXT_LABEL_DEFAULT_TEXT,
|
|
27
|
+
requestLabel: constants_1.REQUEST_LABEL_DEFAULT_TEXT,
|
|
28
|
+
replyLabel: constants_1.REPLIER_LABEL_DEFAULT_TEXT,
|
|
25
29
|
};
|
|
26
30
|
//# sourceMappingURL=default.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":";;;AACA,0CAOsB;AAET,QAAA,aAAa,GAAoB;IAC5C,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb;IACD,MAAM,EAAE;QACN,eAAe,EAAE,KAAK;KACvB;IACD,OAAO,EAAE;QACP,WAAW,EAAE,WAAW;QACxB,cAAc,EAAE,WAAW;KAC5B;IACD,YAAY,EAAE,sCAA0B;IACxC,cAAc,EAAE,wCAA4B;IAC5C,SAAS,EAAE,mCAAuB;IAClC,YAAY,EAAE,2CAA+B;IAC7C,YAAY,EAAE,sCAA0B;IACxC,UAAU,EAAE,sCAA0B;CACvC,CAAC","sourcesContent":["import { ConfigInterface } from './config';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n RECEIVE_TEXT_LABEL_DEFAULT_TEXT,\n REPLIER_LABEL_DEFAULT_TEXT,\n REQUEST_LABEL_DEFAULT_TEXT,\n SEND_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../constants';\n\nexport const defaultConfig: ConfigInterface = {\n schemaID: '',\n show: {\n sidebar: false,\n info: true,\n servers: true,\n operations: true,\n messages: true,\n schemas: true,\n errors: true,\n },\n expand: {\n messageExamples: false,\n },\n sidebar: {\n showServers: 'byDefault',\n showOperations: 'byDefault',\n },\n publishLabel: PUBLISH_LABEL_DEFAULT_TEXT,\n subscribeLabel: SUBSCRIBE_LABEL_DEFAULT_TEXT,\n sendLabel: SEND_LABEL_DEFAULT_TEXT,\n receiveLabel: RECEIVE_TEXT_LABEL_DEFAULT_TEXT,\n requestLabel: REQUEST_LABEL_DEFAULT_TEXT,\n replyLabel: REPLIER_LABEL_DEFAULT_TEXT,\n};\n"]}
|
|
@@ -45,8 +45,8 @@ var helpers_1 = require("../../helpers");
|
|
|
45
45
|
var constants_1 = require("../../constants");
|
|
46
46
|
var types_1 = require("../../types");
|
|
47
47
|
var Operation = function (props) {
|
|
48
|
-
var config = (0, contexts_1.useConfig)();
|
|
49
48
|
var _a = props.type, type = _a === void 0 ? types_1.PayloadType.SEND : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
49
|
+
var config = (0, contexts_1.useConfig)();
|
|
50
50
|
if (!operation || !channel) {
|
|
51
51
|
return null;
|
|
52
52
|
}
|
|
@@ -91,52 +91,19 @@ var Operation = function (props) {
|
|
|
91
91
|
react_1.default.createElement(exports.OperationReplyInfo, __assign({}, props))));
|
|
92
92
|
};
|
|
93
93
|
exports.Operation = Operation;
|
|
94
|
-
function getTypeInformation(_a) {
|
|
95
|
-
var _b, _c, _d, _e, _f, _g;
|
|
96
|
-
var _h = _a.typeRes, typeRes = _h === void 0 ? types_1.PayloadType.SEND : _h, config = _a.config, version = _a.version;
|
|
97
|
-
if (typeRes === types_1.PayloadType.RECEIVE) {
|
|
98
|
-
return {
|
|
99
|
-
borderColor: 'border-green-600 text-green-600',
|
|
100
|
-
typeLabel: version === 1
|
|
101
|
-
? (_b = config.receiveLabel) !== null && _b !== void 0 ? _b : constants_1.RECEIVE_TEXT_LABEL_DEFAULT_TEXT
|
|
102
|
-
: (_c = config.publishLabel) !== null && _c !== void 0 ? _c : constants_1.PUBLISH_LABEL_DEFAULT_TEXT,
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
if (typeRes === types_1.PayloadType.REPLY) {
|
|
106
|
-
return {
|
|
107
|
-
borderColor: 'border-orange-600 text-orange-600',
|
|
108
|
-
typeLabel: (_d = config.replyLabel) !== null && _d !== void 0 ? _d : constants_1.REPLIER_LABEL_DEFAULT_TEXT,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
if (typeRes === types_1.PayloadType.REQUEST) {
|
|
112
|
-
return {
|
|
113
|
-
borderColor: 'border-red-600 text-red-600',
|
|
114
|
-
typeLabel: (_e = config.requestLabel) !== null && _e !== void 0 ? _e : constants_1.REQUEST_LABEL_DEFAULT_TEXT,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
borderColor: 'border-blue-600 text-blue-500',
|
|
119
|
-
typeLabel: version === 1
|
|
120
|
-
? (_f = config.sendLabel) !== null && _f !== void 0 ? _f : constants_1.SEND_LABEL_DEFAULT_TEXT
|
|
121
|
-
: (_g = config.subscribeLabel) !== null && _g !== void 0 ? _g : constants_1.SUBSCRIBE_LABEL_DEFAULT_TEXT,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
94
|
var OperationInfo = function (props) {
|
|
125
95
|
var _a = props.type, type = _a === void 0 ? types_1.PayloadType.SEND : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
126
|
-
var specV = (0, contexts_1.useSpec)().version();
|
|
127
|
-
var version = specV.localeCompare('2.6.0', undefined, { numeric: true });
|
|
128
96
|
var config = (0, contexts_1.useConfig)();
|
|
129
97
|
var operationSummary = operation.summary();
|
|
130
98
|
var externalDocs = operation.externalDocs();
|
|
131
99
|
var operationId = operation.id();
|
|
132
|
-
var
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
typeRes: typeRes,
|
|
100
|
+
var specV = (0, contexts_1.useSpec)().version();
|
|
101
|
+
var version = specV.localeCompare('2.6.0', undefined, { numeric: true });
|
|
102
|
+
var isAsyncAPIv2 = version === 0;
|
|
103
|
+
var _b = helpers_1.CommonHelpers.getOperationDesignInformation({
|
|
104
|
+
type: type,
|
|
138
105
|
config: config,
|
|
139
|
-
|
|
106
|
+
isAsyncAPIv2: isAsyncAPIv2,
|
|
140
107
|
}), borderColor = _b.borderColor, typeLabel = _b.typeLabel;
|
|
141
108
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
142
109
|
react_1.default.createElement("div", { className: "mb-4" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\n\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n CollapseButton,\n} from '../../components';\nimport { Href } from '../../components/Href';\n\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport {\n EXTERAL_DOCUMENTATION_TEXT,\n PUBLISH_LABEL_DEFAULT_TEXT,\n RECEIVE_TEXT_LABEL_DEFAULT_TEXT,\n REPLIER_LABEL_DEFAULT_TEXT,\n REQUEST_LABEL_DEFAULT_TEXT,\n SEND_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\nimport { PayloadType } from '../../types';\nimport { ConfigInterface } from '../../config/config';\ninterface Props {\n type: PayloadType;\n operation: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\nexport const Operation: React.FunctionComponent<Props> = props => {\n const config = useConfig();\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\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 =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\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.id()}>\n <a\n href={`#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\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.id()}</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.bindings() && (\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.bindings() && (\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.tags() && (\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.messages().length > 1 ? (\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\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\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.messages().all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n </div>\n\n <OperationReplyInfo {...props} />\n </div>\n );\n};\n\nfunction getTypeInformation({\n typeRes = PayloadType.SEND,\n config,\n version,\n}: {\n typeRes: PayloadType;\n config: ConfigInterface;\n version: number;\n}): { borderColor: string; typeLabel: string } {\n if (typeRes === PayloadType.RECEIVE) {\n return {\n borderColor: 'border-green-600 text-green-600',\n typeLabel:\n version === 1\n ? config.receiveLabel ?? RECEIVE_TEXT_LABEL_DEFAULT_TEXT\n : config.publishLabel ?? PUBLISH_LABEL_DEFAULT_TEXT,\n };\n }\n if (typeRes === PayloadType.REPLY) {\n return {\n borderColor: 'border-orange-600 text-orange-600',\n typeLabel: config.replyLabel ?? REPLIER_LABEL_DEFAULT_TEXT,\n };\n }\n if (typeRes === PayloadType.REQUEST) {\n return {\n borderColor: 'border-red-600 text-red-600',\n typeLabel: config.requestLabel ?? REQUEST_LABEL_DEFAULT_TEXT,\n };\n }\n return {\n borderColor: 'border-blue-600 text-blue-500',\n typeLabel:\n version === 1\n ? config.sendLabel ?? SEND_LABEL_DEFAULT_TEXT\n : config.subscribeLabel ?? SUBSCRIBE_LABEL_DEFAULT_TEXT,\n };\n}\n\nexport const OperationInfo: React.FunctionComponent<Props> = props => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const config = useConfig();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n let typeRes = type;\n if (version === 1 && operation.action() !== typeRes) {\n typeRes = PayloadType.RECEIVE;\n }\n const { borderColor, typeLabel } = getTypeInformation({\n typeRes,\n config,\n version,\n });\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono border uppercase p-1 rounded mr-2 ${borderColor}`}\n title={type}\n >\n {typeLabel}\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\nexport const OperationReplyInfo: React.FunctionComponent<Props> = props => {\n const { type = PayloadType.SEND, operation } = props;\n const [showMessages, setShowMessages] = useState(false);\n const [showChannel, setShowChannel] = useState(false);\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined) {\n return <></>;\n }\n\n const replyMessages = reply.messages();\n const explicitChannel = reply.channel();\n\n const replyAddress = reply.address()?.location();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center\">\n <div className=\"font-mono px-8 py-4\">\n <div className=\"border rounded\">\n <div\n className={`w-full ${\n type === 'reply'\n ? 'bg-green-600 border-green-600'\n : 'bg-blue-600 border-blue-600'\n } text-sm rounded-t h-8 px-4 border text-white flex items-center`}\n >\n <span className=\"font-bold\">REPLY INFORMATION</span>\n </div>\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === 'reply' ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2\" title={type}>\n REPLY CHANNEL INFORMATION\n </span>\n </h3>\n {explicitChannel?.address() ? (\n <div className=\"text-xs text-gray-700\">\n Reply will be provided via this designated address:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {explicitChannel.address()}{' '}\n </span>\n </div>\n ) : (\n <div className=\"text-xs text-gray-700\">\n Reply will be directed to the address specified at this\n location:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddress}\n </span>\n </div>\n )}\n <div className=\"mt-2\">\n {explicitChannel && (\n <CollapseButton\n onClick={() => setShowChannel(prev => !prev)}\n expanded={showChannel}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n View channel details\n </span>\n </CollapseButton>\n )}\n {explicitChannel && (\n <div\n className={`w-full mt-4 ${\n showChannel ? 'block' : 'hidden'\n }`}\n >\n <OperationReplyChannelInfo {...props} />{' '}\n </div>\n )}\n </div>\n </div>\n </div>\n <OperationReplyAddressInfo {...props} />\n {replyMessages.isEmpty() === false && (\n <div className=\"p-4\">\n <CollapseButton\n onClick={() => setShowMessages(prev => !prev)}\n expanded={showMessages}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n Expected Reply{' '}\n {replyMessages.length > 1 ? 'Messages' : 'Message'}\n </span>\n </CollapseButton>\n <div\n className={`w-full mt-4 ${showMessages ? 'block' : 'hidden'}`}\n >\n {replyMessages.length > 1 ? (\n <div className=\"mt-2\">\n <ul>\n {replyMessages.all().map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message\n message={msg}\n index={idx}\n showExamples={true}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <div className=\"mt-2\">\n <Message\n message={replyMessages.all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n\n <Extensions name=\"Operation Reply Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n\nexport const OperationReplyChannelInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n const reply = operation.reply();\n\n const channel = reply?.channel();\n\n const channelName = channel?.address() ?? '';\n\n const config = useConfig();\n const servers =\n typeof channel?.servers === 'function' && channel.servers().all();\n const parameters =\n channel?.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n if (!channel) {\n return <></>;\n }\n\n return (\n <div>\n {channel.address() && (\n <div className=\"mt-2 text-xs text-gray-700\">\n Address:{' '}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {channel.address()}\n </span>\n </div>\n )}\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\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.id()}>\n <a\n href={`#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\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.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {channel.messages().all().length > 1 ? (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Messages:</span>\n <ul>\n {channel\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples={true} />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Message:</span>\n <div className=\"mt-2\">\n <Message\n message={channel.messages().all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded={true} />\n </div>\n )}\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings name=\"Bindings\" bindings={channel.bindings()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const OperationReplyAddressInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined || !reply.hasAddress()) {\n return <></>;\n }\n const replyAddress = reply.address()!;\n const replyAddressLocation = replyAddress.location();\n\n return (\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === 'reply' ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2 uppercase\" title={type}>\n REPLY address information\n </span>\n </h3>\n {replyAddressLocation && (\n <div className=\"text-xs text-gray-700\">\n REPLY will be sent to the address provided in:\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddressLocation}\n </span>\n </div>\n )}\n {replyAddress.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{replyAddress.description()}</Markdown>\n </div>\n )}\n <Extensions name=\"Operation Reply Address Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n CollapseButton,\n} from '../../components';\nimport { Href } from '../../components/Href';\nimport { useConfig, useSpec } 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: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\nexport const Operation: React.FunctionComponent<Props> = props => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\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 =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\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.id()}>\n <a\n href={`#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\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.id()}</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.bindings() && (\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.bindings() && (\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.tags() && (\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.messages().length > 1 ? (\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\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\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.messages().all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n </div>\n\n <OperationReplyInfo {...props} />\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = props => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const {\n borderColor,\n typeLabel,\n } = CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono border uppercase p-1 rounded mr-2 ${borderColor}`}\n title={type}\n >\n {typeLabel}\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\nexport const OperationReplyInfo: React.FunctionComponent<Props> = props => {\n const { type = PayloadType.SEND, operation } = props;\n const [showMessages, setShowMessages] = useState(false);\n const [showChannel, setShowChannel] = useState(false);\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined) {\n return <></>;\n }\n\n const replyMessages = reply.messages();\n const explicitChannel = reply.channel();\n\n const replyAddress = reply.address()?.location();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center\">\n <div className=\"font-mono px-8 py-4\">\n <div className=\"border rounded\">\n <div\n className={`w-full ${\n type === 'reply'\n ? 'bg-green-600 border-green-600'\n : 'bg-blue-600 border-blue-600'\n } text-sm rounded-t h-8 px-4 border text-white flex items-center`}\n >\n <span className=\"font-bold\">REPLY INFORMATION</span>\n </div>\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === 'reply' ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2\" title={type}>\n REPLY CHANNEL INFORMATION\n </span>\n </h3>\n {explicitChannel?.address() ? (\n <div className=\"text-xs text-gray-700\">\n Reply will be provided via this designated address:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {explicitChannel.address()}{' '}\n </span>\n </div>\n ) : (\n <div className=\"text-xs text-gray-700\">\n Reply will be directed to the address specified at this\n location:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddress}\n </span>\n </div>\n )}\n <div className=\"mt-2\">\n {explicitChannel && (\n <CollapseButton\n onClick={() => setShowChannel(prev => !prev)}\n expanded={showChannel}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n View channel details\n </span>\n </CollapseButton>\n )}\n {explicitChannel && (\n <div\n className={`w-full mt-4 ${\n showChannel ? 'block' : 'hidden'\n }`}\n >\n <OperationReplyChannelInfo {...props} />{' '}\n </div>\n )}\n </div>\n </div>\n </div>\n <OperationReplyAddressInfo {...props} />\n {replyMessages.isEmpty() === false && (\n <div className=\"p-4\">\n <CollapseButton\n onClick={() => setShowMessages(prev => !prev)}\n expanded={showMessages}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n Expected Reply{' '}\n {replyMessages.length > 1 ? 'Messages' : 'Message'}\n </span>\n </CollapseButton>\n <div\n className={`w-full mt-4 ${showMessages ? 'block' : 'hidden'}`}\n >\n {replyMessages.length > 1 ? (\n <div className=\"mt-2\">\n <ul>\n {replyMessages.all().map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message\n message={msg}\n index={idx}\n showExamples={true}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <div className=\"mt-2\">\n <Message\n message={replyMessages.all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n\n <Extensions name=\"Operation Reply Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n\nexport const OperationReplyChannelInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n const reply = operation.reply();\n const channel = reply?.channel();\n const channelName = channel?.address() ?? '';\n\n const config = useConfig();\n const servers =\n typeof channel?.servers === 'function' && channel.servers().all();\n const parameters =\n channel?.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n if (!channel) {\n return <></>;\n }\n\n return (\n <div>\n {channel.address() && (\n <div className=\"mt-2 text-xs text-gray-700\">\n Address:{' '}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {channel.address()}\n </span>\n </div>\n )}\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\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.id()}>\n <a\n href={`#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\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.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {channel.messages().all().length > 1 ? (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Messages:</span>\n <ul>\n {channel\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples={true} />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Message:</span>\n <div className=\"mt-2\">\n <Message\n message={channel.messages().all()[0]}\n showExamples={true}\n />\n </div>\n </div>\n )}\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded={true} />\n </div>\n )}\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings name=\"Bindings\" bindings={channel.bindings()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const OperationReplyAddressInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined || !reply.hasAddress()) {\n return <></>;\n }\n const replyAddress = reply.address()!;\n const replyAddressLocation = replyAddress.location();\n\n return (\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === 'reply' ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2 uppercase\" title={type}>\n REPLY address information\n </span>\n </h3>\n {replyAddressLocation && (\n <div className=\"text-xs text-gray-700\">\n REPLY will be sent to the address provided in:\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddressLocation}\n </span>\n </div>\n )}\n {replyAddress.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{replyAddress.description()}</Markdown>\n </div>\n )}\n <Extensions name=\"Operation Reply Address Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -9,7 +9,6 @@ var Operation_1 = require("./Operation");
|
|
|
9
9
|
var contexts_1 = require("../../contexts");
|
|
10
10
|
var helpers_1 = require("../../helpers");
|
|
11
11
|
var constants_1 = require("../../constants");
|
|
12
|
-
var types_1 = require("../../types");
|
|
13
12
|
var Operations = function () {
|
|
14
13
|
var operations = (0, contexts_1.useSpec)()
|
|
15
14
|
.operations()
|
|
@@ -18,31 +17,17 @@ var Operations = function () {
|
|
|
18
17
|
if (!Object.keys(operations).length) {
|
|
19
18
|
return null;
|
|
20
19
|
}
|
|
21
|
-
var operationsList =
|
|
22
|
-
operations.forEach(function (operation) {
|
|
20
|
+
var operationsList = operations.map(function (operation) {
|
|
23
21
|
var _a;
|
|
24
22
|
var channel = operation.channels().all()[0];
|
|
25
23
|
var channelAddress = (_a = channel === null || channel === void 0 ? void 0 : channel.address()) !== null && _a !== void 0 ? _a : '';
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.SEND, operation: operation, channelName: channelAddress, channel: channel })));
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (operation.isReceive()) {
|
|
37
|
-
if (operation.reply() !== undefined) {
|
|
38
|
-
operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "replier-".concat(operation.id()), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.REPLY, "-").concat(operation.id()), config) },
|
|
39
|
-
react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.REPLY, operation: operation, channelName: channelAddress, channel: channel })));
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
operationsList.push(react_1.default.createElement("li", { className: "mb-12", key: "sub-".concat(operation.id()), id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(types_1.PayloadType.RECEIVE, "-").concat(operation.id()), config) },
|
|
43
|
-
react_1.default.createElement(Operation_1.Operation, { type: types_1.PayloadType.RECEIVE, operation: operation, channelName: channelAddress, channel: channel })));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
24
|
+
var operationId = helpers_1.CommonHelpers.getOperationIdentifier({
|
|
25
|
+
operation: operation,
|
|
26
|
+
config: config,
|
|
27
|
+
});
|
|
28
|
+
var type = helpers_1.CommonHelpers.getOperationType(operation);
|
|
29
|
+
return (react_1.default.createElement("li", { className: "mb-12", key: "".concat(type, "-").concat(operation.id()), id: operationId },
|
|
30
|
+
react_1.default.createElement(Operation_1.Operation, { type: type, operation: operation, channelName: channelAddress, channel: channel })));
|
|
46
31
|
});
|
|
47
32
|
return (react_1.default.createElement("section", { id: "".concat(helpers_1.CommonHelpers.getIdentifier('operations', config)), className: "mt-16" },
|
|
48
33
|
react_1.default.createElement("h2", { className: "2xl:w-7/12 text-3xl font-light mb-4 px-8" }, constants_1.OPERATIONS_TEXT),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;
|
|
1
|
+
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAC1B,yCAAwC;AACxC,2CAAoD;AACpD,yCAA8C;AAC9C,6CAAkD;AAE3C,IAAM,UAAU,GAA4B;IACjD,IAAM,UAAU,GAAG,IAAA,kBAAO,GAAE;SACzB,UAAU,EAAE;SACZ,GAAG,EAAE,CAAC;IACT,IAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE;QACnC,OAAO,IAAI,CAAC;KACb;IAED,IAAM,cAAc,GAAyB,UAAU,CAAC,GAAG,CAAC,UAAA,SAAS;;QACnE,IAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,mCAAI,EAAE,CAAC;QAChD,IAAM,WAAW,GAAG,uBAAa,CAAC,sBAAsB,CAAC;YACvD,SAAS,WAAA;YACT,MAAM,QAAA;SACP,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,uBAAa,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,CACL,sCAAI,SAAS,EAAC,OAAO,EAAC,GAAG,EAAE,UAAG,IAAI,cAAI,SAAS,CAAC,EAAE,EAAE,CAAE,EAAE,EAAE,EAAE,WAAW;YACrE,8BAAC,qBAAS,IACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,cAAc,EAC3B,OAAO,EAAE,OAAO,GAChB,CACC,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,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;AAxCW,QAAA,UAAU,cAwCrB","sourcesContent":["import React from 'react';\nimport { Operation } from './Operation';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers } from '../../helpers';\nimport { OPERATIONS_TEXT } from '../../constants';\n\nexport const Operations: React.FunctionComponent = () => {\n const operations = useSpec()\n .operations()\n .all();\n const config = useConfig();\n\n if (!Object.keys(operations).length) {\n return null;\n }\n\n const operationsList: React.ReactNodeArray = operations.map(operation => {\n const channel = operation.channels().all()[0];\n const channelAddress = channel?.address() ?? '';\n const operationId = CommonHelpers.getOperationIdentifier({\n operation,\n config,\n });\n const type = CommonHelpers.getOperationType(operation);\n return (\n <li className=\"mb-12\" key={`${type}-${operation.id()}`} id={operationId}>\n <Operation\n type={type}\n operation={operation}\n channelName={channelAddress}\n channel={channel}\n />\n </li>\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"]}
|
|
@@ -38,7 +38,7 @@ exports.Sidebar = void 0;
|
|
|
38
38
|
var react_1 = __importStar(require("react"));
|
|
39
39
|
var components_1 = require("../../components");
|
|
40
40
|
var contexts_1 = require("../../contexts");
|
|
41
|
-
var
|
|
41
|
+
var helpers_1 = require("../../helpers");
|
|
42
42
|
var sidebar_1 = require("../../helpers/sidebar");
|
|
43
43
|
var SidebarContext = react_1.default.createContext({
|
|
44
44
|
setShowSidebar: function (value) { return value; },
|
|
@@ -57,14 +57,26 @@ var Sidebar = function () {
|
|
|
57
57
|
var hasOperations = asyncapi.operations().length > 0;
|
|
58
58
|
var messagesList = (messages === null || messages === void 0 ? void 0 : messages.length) > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
|
|
59
59
|
react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#messages", onClick: function () { return setShowSidebar(false); } }, "Messages"),
|
|
60
|
-
react_1.default.createElement("ul", { className: "text-sm mt-2" }, messages.map(function (message
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
react_1.default.createElement("ul", { className: "text-sm mt-2" }, messages.map(function (message, index) {
|
|
61
|
+
var _a;
|
|
62
|
+
return (react_1.default.createElement("li", { key: "menu-message-list-".concat((_a = message.name()) !== null && _a !== void 0 ? _a : index) },
|
|
63
|
+
react_1.default.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#message-".concat(message.name()), onClick: function () { return setShowSidebar(false); } },
|
|
64
|
+
react_1.default.createElement("div", { className: "break-all inline-block" }, message.id()))));
|
|
65
|
+
}))));
|
|
63
66
|
var schemasList = (schemas === null || schemas === void 0 ? void 0 : schemas.length) > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
|
|
64
67
|
react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#schemas", onClick: function () { return setShowSidebar(false); } }, "Schemas"),
|
|
65
|
-
react_1.default.createElement("ul", { className: "text-sm mt-2" }, schemas.map(function (schema
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
react_1.default.createElement("ul", { className: "text-sm mt-2" }, schemas.map(function (schema, index) {
|
|
69
|
+
var _a;
|
|
70
|
+
return (react_1.default.createElement("li", { key: "menu-message-list-".concat((_a = schema.id()) !== null && _a !== void 0 ? _a : index) },
|
|
71
|
+
react_1.default.createElement("a", { className: "flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900", href: "#schema-".concat(schema.id()), onClick: function () { return setShowSidebar(false); } },
|
|
72
|
+
react_1.default.createElement("div", { className: "break-all inline-block" }, schema.id()))));
|
|
73
|
+
}))));
|
|
74
|
+
var operationList = hasOperations && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
75
|
+
react_1.default.createElement("li", { className: "mb-3 mt-9" },
|
|
76
|
+
react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#operations", onClick: function () { return setShowSidebar(false); } }, "Operations"),
|
|
77
|
+
react_1.default.createElement(OperationsList, null)),
|
|
78
|
+
messagesList,
|
|
79
|
+
schemasList));
|
|
68
80
|
return (react_1.default.createElement(SidebarContext.Provider, { value: { setShowSidebar: setShowSidebar } },
|
|
69
81
|
react_1.default.createElement("div", { className: "burger-menu rounded-full h-16 w-16 bg-white fixed bottom-16 right-8 flex items-center justify-center z-30 cursor-pointer shadow-md bg-teal-500", onClick: function () { return setShowSidebar(function (prev) { return !prev; }); }, "data-lol": showSidebar },
|
|
70
82
|
react_1.default.createElement("svg", { viewBox: "0 0 100 70", width: "40", height: "30", className: "fill-current text-gray-200" },
|
|
@@ -84,12 +96,7 @@ var Sidebar = function () {
|
|
|
84
96
|
asyncapi.servers().length > 0 && (react_1.default.createElement("li", { className: "mb-3 mt-9" },
|
|
85
97
|
react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#servers", onClick: function () { return setShowSidebar(false); } }, "Servers"),
|
|
86
98
|
react_1.default.createElement(ServersList, null))),
|
|
87
|
-
|
|
88
|
-
react_1.default.createElement("li", { className: "mb-3 mt-9" },
|
|
89
|
-
react_1.default.createElement("a", { className: "text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900", href: "#operations", onClick: function () { return setShowSidebar(false); } }, "Operations"),
|
|
90
|
-
react_1.default.createElement(OperationsList, null)),
|
|
91
|
-
messagesList,
|
|
92
|
-
schemasList))))))));
|
|
99
|
+
operationList))))));
|
|
93
100
|
};
|
|
94
101
|
exports.Sidebar = Sidebar;
|
|
95
102
|
var ServersList = function () {
|
|
@@ -138,38 +145,41 @@ var ServersList = function () {
|
|
|
138
145
|
};
|
|
139
146
|
var OperationsList = function () {
|
|
140
147
|
var _a, _b;
|
|
141
|
-
var
|
|
148
|
+
var config = (0, contexts_1.useConfig)();
|
|
149
|
+
var sidebarConfig = config.sidebar;
|
|
142
150
|
var asyncapi = (0, contexts_1.useSpec)();
|
|
143
151
|
var operations = asyncapi.operations().all();
|
|
144
152
|
var showOperations = (_a = sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showOperations) !== null && _a !== void 0 ? _a : 'byDefault';
|
|
145
|
-
var processedOperations =
|
|
146
|
-
|
|
147
|
-
var _a, _b, _c;
|
|
153
|
+
var processedOperations = operations.map(function (operation) {
|
|
154
|
+
var _a;
|
|
148
155
|
var operationChannel = operation.channels();
|
|
149
|
-
var
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
156
|
+
var operationHrefId = helpers_1.CommonHelpers.getOperationIdentifier({
|
|
157
|
+
operation: operation,
|
|
158
|
+
config: config,
|
|
159
|
+
});
|
|
160
|
+
var type = helpers_1.CommonHelpers.getOperationType(operation);
|
|
161
|
+
var specV = asyncapi.version();
|
|
162
|
+
var version = specV.localeCompare('2.6.0', undefined, { numeric: true });
|
|
163
|
+
var label = '';
|
|
164
|
+
if (version === 0) {
|
|
165
|
+
var operationChannels = operationChannel.all();
|
|
166
|
+
var channelAddress = (_a = operationChannels[0]) === null || _a === void 0 ? void 0 : _a.address();
|
|
167
|
+
label = operation.hasSummary()
|
|
168
|
+
? operation.summary()
|
|
169
|
+
: channelAddress !== null && channelAddress !== void 0 ? channelAddress : '';
|
|
161
170
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
name: "subscribe-".concat(operation.id()),
|
|
165
|
-
tags: operation.tags(),
|
|
166
|
-
data: {
|
|
167
|
-
channelName: channelAddress !== null && channelAddress !== void 0 ? channelAddress : '',
|
|
168
|
-
kind: 'subscribe',
|
|
169
|
-
summary: (_c = operation.summary()) !== null && _c !== void 0 ? _c : '',
|
|
170
|
-
},
|
|
171
|
-
});
|
|
171
|
+
else {
|
|
172
|
+
label = operation.id();
|
|
172
173
|
}
|
|
174
|
+
return {
|
|
175
|
+
name: "".concat(type, "-").concat(operation.id()),
|
|
176
|
+
tags: operation.tags(),
|
|
177
|
+
data: {
|
|
178
|
+
label: label,
|
|
179
|
+
type: type,
|
|
180
|
+
operationHrefId: operationHrefId,
|
|
181
|
+
},
|
|
182
|
+
};
|
|
173
183
|
});
|
|
174
184
|
if (showOperations === 'byDefault') {
|
|
175
185
|
return (react_1.default.createElement("ul", { className: "text-sm mt-2" }, processedOperations.map(function (_a) {
|
|
@@ -211,22 +221,21 @@ var OperationsList = function () {
|
|
|
211
221
|
})))) : null));
|
|
212
222
|
};
|
|
213
223
|
var OperationItem = function (_a) {
|
|
214
|
-
var
|
|
215
|
-
var channelName = _a.channelName, summary = _a.summary, kind = _a.kind;
|
|
224
|
+
var type = _a.type, operationHrefId = _a.operationHrefId, label = _a.label;
|
|
216
225
|
var config = (0, contexts_1.useConfig)();
|
|
217
226
|
var setShowSidebar = (0, react_1.useContext)(SidebarContext).setShowSidebar;
|
|
218
|
-
var
|
|
219
|
-
var
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
return (react_1.default.createElement("li",
|
|
227
|
-
react_1.default.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#
|
|
228
|
-
react_1.default.createElement("span", { className: "".concat(
|
|
229
|
-
react_1.default.createElement("span", { className: "break-all inline-block" },
|
|
227
|
+
var specV = (0, contexts_1.useSpec)().version();
|
|
228
|
+
var version = specV.localeCompare('2.6.0', undefined, { numeric: true });
|
|
229
|
+
var isAsyncAPIv2 = version === 0;
|
|
230
|
+
var _b = helpers_1.CommonHelpers.getOperationDesignInformation({
|
|
231
|
+
type: type,
|
|
232
|
+
config: config,
|
|
233
|
+
isAsyncAPIv2: isAsyncAPIv2,
|
|
234
|
+
}), typeLabel = _b.typeLabel, backgroundColor = _b.backgroundColor;
|
|
235
|
+
return (react_1.default.createElement("li", { key: "menu-operation-list-".concat(operationHrefId) },
|
|
236
|
+
react_1.default.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#".concat(operationHrefId), onClick: function () { return setShowSidebar(false); } },
|
|
237
|
+
react_1.default.createElement("span", { className: "".concat(backgroundColor, " font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs"), title: typeLabel }, typeLabel),
|
|
238
|
+
react_1.default.createElement("span", { className: "break-all inline-block" }, label))));
|
|
230
239
|
};
|
|
231
240
|
var ServerItem = function (_a) {
|
|
232
241
|
var serverName = _a.serverName;
|