@asyncapi/react-component 1.0.0-next.44 → 1.0.0-next.46

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.
Files changed (36) hide show
  1. package/browser/index.js +2 -2
  2. package/browser/standalone/index.js +2 -2
  3. package/browser/standalone/without-parser.js +7 -7
  4. package/browser/without-parser.js +2 -2
  5. package/lib/cjs/components/CollapseButton.js +6 -2
  6. package/lib/cjs/components/CollapseButton.js.map +1 -1
  7. package/lib/cjs/config/config.js.map +1 -1
  8. package/lib/cjs/config/default.js +2 -1
  9. package/lib/cjs/config/default.js.map +1 -1
  10. package/lib/cjs/containers/AsyncApi/Layout.js +10 -10
  11. package/lib/cjs/containers/AsyncApi/Layout.js.map +1 -1
  12. package/lib/cjs/containers/Sidebar/Sidebar.js +166 -127
  13. package/lib/cjs/containers/Sidebar/Sidebar.js.map +1 -1
  14. package/lib/cjs/helpers/specification.js +17 -0
  15. package/lib/cjs/helpers/specification.js.map +1 -1
  16. package/lib/esm/components/CollapseButton.js +5 -1
  17. package/lib/esm/components/CollapseButton.js.map +1 -1
  18. package/lib/esm/config/config.js.map +1 -1
  19. package/lib/esm/config/default.js +2 -1
  20. package/lib/esm/config/default.js.map +1 -1
  21. package/lib/esm/containers/AsyncApi/Layout.js +10 -10
  22. package/lib/esm/containers/AsyncApi/Layout.js.map +1 -1
  23. package/lib/esm/containers/Sidebar/Sidebar.js +165 -123
  24. package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
  25. package/lib/esm/helpers/specification.js +17 -0
  26. package/lib/esm/helpers/specification.js.map +1 -1
  27. package/lib/types/components/CollapseButton.d.ts.map +1 -1
  28. package/lib/types/config/config.d.ts +1 -0
  29. package/lib/types/config/config.d.ts.map +1 -1
  30. package/lib/types/config/default.d.ts.map +1 -1
  31. package/lib/types/containers/AsyncApi/Layout.d.ts.map +1 -1
  32. package/lib/types/containers/Sidebar/Sidebar.d.ts +1 -9
  33. package/lib/types/containers/Sidebar/Sidebar.d.ts.map +1 -1
  34. package/lib/types/helpers/specification.d.ts +3 -0
  35. package/lib/types/helpers/specification.d.ts.map +1 -1
  36. package/package.json +1 -2
@@ -1,28 +1,31 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
1
12
  import React, { useState, useContext } from 'react';
2
13
  import { CollapseButton } from '../../components';
3
14
  import { useConfig, useSpec } from '../../contexts';
4
- import { SpecificationHelpers } from '../../helpers';
5
15
  import { PUBLISH_LABEL_DEFAULT_TEXT, SUBSCRIBE_LABEL_DEFAULT_TEXT, } from '../../constants';
6
16
  var SidebarContext = React.createContext({
7
17
  setShowSidebar: function (value) { return value; },
8
18
  });
9
- export var Sidebar = function (_a) {
10
- var config = _a.config;
11
- var _b = useState(false), showSidebar = _b[0], setShowSidebar = _b[1];
12
- var showOperations = (config === null || config === void 0 ? void 0 : config.showOperations) || 'byDefault';
19
+ export var Sidebar = function () {
20
+ var _a = useState(false), showSidebar = _a[0], setShowSidebar = _a[1];
13
21
  var asyncapi = useSpec();
14
22
  var info = asyncapi.info();
15
23
  var logo = info.ext('x-logo');
16
24
  var components = asyncapi.hasComponents() && asyncapi.components();
17
25
  var messages = components && components.messages();
18
26
  var schemas = components && components.schemas();
19
- var Operations = OperationsList;
20
- if (showOperations === 'bySpecTags') {
21
- Operations = OperationsByRootTags;
22
- }
23
- else if (showOperations === 'byOperationsTags') {
24
- Operations = OperationsByOperationsTags;
25
- }
27
+ var hasOperations = asyncapi.hasChannels() &&
28
+ Object.values(asyncapi.channels()).some(function (channel) { return channel.hasPublish() || channel.hasSubscribe(); });
26
29
  var messagesList = messages && Object.keys(messages).length > 0 && (React.createElement("li", { className: "mb-3 mt-9" },
27
30
  React.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"),
28
31
  React.createElement("ul", { className: "text-sm mt-2" }, Object.entries(messages).map(function (_a) {
@@ -52,119 +55,176 @@ export var Sidebar = function (_a) {
52
55
  React.createElement("ul", { className: "text-sm mt-10 relative" },
53
56
  React.createElement("li", { className: "mb-3" },
54
57
  React.createElement("a", { className: "text-gray-700 no-underline hover:text-gray-900", href: "#introduction", onClick: function () { return setShowSidebar(false); } }, "Introduction")),
55
- asyncapi.hasServers() && (React.createElement("li", { className: "mb-3" },
56
- React.createElement("a", { className: "text-gray-700 no-underline hover:text-gray-900", href: "#servers", onClick: function () { return setShowSidebar(false); } }, "Servers"))),
57
- asyncapi.hasChannels() && (React.createElement(React.Fragment, null,
58
+ asyncapi.hasServers() && (React.createElement("li", { className: "mb-3 mt-9" },
59
+ React.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"),
60
+ React.createElement(ServersList, null))),
61
+ hasOperations && (React.createElement(React.Fragment, null,
58
62
  React.createElement("li", { className: "mb-3 mt-9" },
59
63
  React.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"),
60
- React.createElement(Operations, null)),
64
+ React.createElement(OperationsList, null)),
61
65
  messagesList,
62
66
  schemasList))))))));
63
67
  };
64
- export var OperationsList = function () {
65
- var asyncapi = useSpec();
66
- var channels = asyncapi.channels();
67
- var operationsList = [];
68
- Object.entries(channels).forEach(function (_a) {
69
- var channelName = _a[0], channel = _a[1];
70
- if (channel.hasPublish()) {
71
- operationsList.push(React.createElement(OperationsPubItem, { channelName: channelName, key: "pub-".concat(channelName) }));
72
- }
73
- if (channel.hasSubscribe()) {
74
- operationsList.push(React.createElement(OperationsSubItem, { channelName: channelName, key: "sub-".concat(channelName) }));
68
+ function filterObjectsByTags(tags, objects) {
69
+ var taggedObjects = new Set();
70
+ var tagged = new Map();
71
+ tags.forEach(function (tag) {
72
+ var taggedForTag = [];
73
+ objects.forEach(function (obj) {
74
+ var object = obj.object;
75
+ if (typeof object.tags !== 'function') {
76
+ return;
77
+ }
78
+ var objectTags = (object.tags() || []).map(function (t) { return t.name(); });
79
+ var hasTag = objectTags.includes(tag);
80
+ if (hasTag) {
81
+ taggedForTag.push(obj);
82
+ taggedObjects.add(obj);
83
+ }
84
+ });
85
+ tagged.set(tag, taggedForTag);
86
+ });
87
+ var untagged = [];
88
+ objects.forEach(function (obj) {
89
+ if (!taggedObjects.has(obj)) {
90
+ untagged.push(obj);
75
91
  }
76
92
  });
77
- return React.createElement("ul", { className: "text-sm mt-2" }, operationsList);
78
- };
79
- export var OperationsByRootTags = function () {
93
+ return { tagged: tagged, untagged: untagged };
94
+ }
95
+ var ServersList = function () {
96
+ var sidebarConfig = useConfig().sidebar;
80
97
  var asyncapi = useSpec();
81
- var channels = asyncapi.channels();
82
- var tags = asyncapi.tags();
83
- var taggedOperations = function (tag) {
84
- var operationsList = [];
85
- Object.entries(channels).forEach(function (_a) {
86
- var channelName = _a[0], channel = _a[1];
87
- if (channel.hasPublish() &&
88
- SpecificationHelpers.containTags(channel.publish(), tag)) {
89
- operationsList.push(React.createElement(OperationsPubItem, { channelName: channelName, key: "pub-".concat(channelName) }));
90
- }
91
- if (channel.hasSubscribe() &&
92
- SpecificationHelpers.containTags(channel.subscribe(), tag)) {
93
- operationsList.push(React.createElement(OperationsSubItem, { channelName: channelName, key: "sub-".concat(channelName) }));
98
+ var servers = asyncapi.servers();
99
+ var showServers = (sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showServers) || 'byDefault';
100
+ if (showServers === 'byDefault') {
101
+ return (React.createElement("ul", { className: "text-sm mt-2" }, Object.keys(servers).map(function (serverName) { return (React.createElement(ServerItem, { serverName: serverName, key: serverName })); })));
102
+ }
103
+ var specTagNames;
104
+ if (showServers === 'bySpecTags') {
105
+ specTagNames = (asyncapi.tags() || []).map(function (tag) { return tag.name(); });
106
+ }
107
+ else {
108
+ var serverTagNamesSet_1 = new Set();
109
+ Object.values(servers).forEach(function (server) {
110
+ if (typeof server.tags !== 'function') {
111
+ return;
94
112
  }
113
+ server.tags().forEach(function (t) { return serverTagNamesSet_1.add(t.name()); });
114
+ });
115
+ specTagNames = Array.from(serverTagNamesSet_1);
116
+ }
117
+ var serializedServers = Object.entries(servers).map(function (_a) {
118
+ var serverName = _a[0], server = _a[1];
119
+ return ({
120
+ name: serverName,
121
+ object: server,
122
+ data: {},
95
123
  });
96
- return operationsList;
97
- };
98
- var untaggedOperations = [];
99
- Object.entries(channels).forEach(function (_a) {
100
- var channelName = _a[0], channel = _a[1];
101
- if (channel.hasPublish() &&
102
- (!channel.publish().hasTags() ||
103
- !SpecificationHelpers.containTags(channel.publish(), tags))) {
104
- untaggedOperations.push(React.createElement(OperationsPubItem, { channelName: channelName, key: "pub-".concat(channelName) }));
105
- }
106
- if (channel.hasSubscribe() &&
107
- (!channel.subscribe().hasTags() ||
108
- !SpecificationHelpers.containTags(channel.subscribe(), tags))) {
109
- untaggedOperations.push(React.createElement(OperationsSubItem, { channelName: channelName, key: "sub-".concat(channelName) }));
110
- }
111
124
  });
112
- return (React.createElement("div", null,
113
- React.createElement("ul", null,
114
- tags &&
115
- tags.map(function (tag) {
116
- var ops = taggedOperations(tag);
117
- return (ops.length > 0 && (React.createElement("li", { key: tag.name() },
118
- React.createElement(OperationsByTagItem, { tagName: tag.name() }, taggedOperations(tag)))));
119
- }),
120
- untaggedOperations.length > 0 && (React.createElement("li", null,
121
- React.createElement(OperationsByTagItem, { tagName: "Untagged" }, untaggedOperations))))));
125
+ var _a = filterObjectsByTags(specTagNames, serializedServers), tagged = _a.tagged, untagged = _a.untagged;
126
+ return (React.createElement("ul", { className: "text-sm mt-2" },
127
+ Array.from(tagged.entries()).map(function (_a) {
128
+ var tag = _a[0], taggedServers = _a[1];
129
+ return (React.createElement("li", { key: tag },
130
+ React.createElement(ItemsByTagItem, { tagName: tag }, taggedServers.map(function (_a) {
131
+ var serverName = _a.name;
132
+ return (React.createElement(ServerItem, { serverName: serverName, key: serverName }));
133
+ }))));
134
+ }),
135
+ untagged.length > 0 ? (React.createElement("li", null,
136
+ React.createElement(ItemsByTagItem, { tagName: "Untagged" }, untagged.map(function (_a) {
137
+ var serverName = _a.name;
138
+ return (React.createElement(ServerItem, { serverName: serverName, key: serverName }));
139
+ })))) : null));
122
140
  };
123
- export var OperationsByOperationsTags = function () {
141
+ var OperationsList = function () {
142
+ var sidebarConfig = useConfig().sidebar;
124
143
  var asyncapi = useSpec();
125
144
  var channels = asyncapi.channels();
126
- var operationsTags = SpecificationHelpers.operationsTags(asyncapi);
127
- var taggedOperations = function (tag) {
128
- var operationsList = [];
129
- Object.entries(channels).forEach(function (_a) {
130
- var channelName = _a[0], channel = _a[1];
131
- if (channel.hasPublish() &&
132
- SpecificationHelpers.containTags(channel.publish(), tag)) {
133
- operationsList.push(React.createElement(OperationsPubItem, { channelName: channelName, key: "pub-".concat(channelName) }));
134
- }
135
- if (channel.hasSubscribe() &&
136
- SpecificationHelpers.containTags(channel.subscribe(), tag)) {
137
- operationsList.push(React.createElement(OperationsSubItem, { channelName: channelName, key: "sub-".concat(channelName) }));
138
- }
139
- });
140
- return operationsList;
141
- };
142
- var untaggedOperations = [];
145
+ var showOperations = (sidebarConfig === null || sidebarConfig === void 0 ? void 0 : sidebarConfig.showOperations) || 'byDefault';
146
+ var operations = [];
143
147
  Object.entries(channels).forEach(function (_a) {
144
148
  var channelName = _a[0], channel = _a[1];
145
- if (channel.hasPublish() &&
146
- (!channel.publish().hasTags() ||
147
- !SpecificationHelpers.containTags(channel.publish(), operationsTags))) {
148
- untaggedOperations.push(React.createElement(OperationsPubItem, { channelName: channelName, key: "pub-".concat(channelName) }));
149
+ if (channel.hasPublish()) {
150
+ var operation = channel.publish();
151
+ operations.push({
152
+ name: "publish-".concat(channelName),
153
+ object: operation,
154
+ data: { channelName: channelName, kind: 'publish', summary: operation.summary() },
155
+ });
149
156
  }
150
- if (channel.hasSubscribe() &&
151
- (!channel.subscribe().hasTags() ||
152
- !SpecificationHelpers.containTags(channel.subscribe(), operationsTags))) {
153
- untaggedOperations.push(React.createElement(OperationsSubItem, { channelName: channelName, key: "sub-".concat(channelName) }));
157
+ if (channel.hasSubscribe()) {
158
+ var operation = channel.subscribe();
159
+ operations.push({
160
+ name: "subscribe-".concat(channelName),
161
+ object: operation,
162
+ data: { channelName: channelName, kind: 'subscribe', summary: operation.summary() },
163
+ });
154
164
  }
155
165
  });
156
- return (React.createElement("div", null,
157
- React.createElement("ul", null,
158
- operationsTags &&
159
- operationsTags.map(function (tag) {
160
- var ops = taggedOperations(tag);
161
- return (ops.length > 0 && (React.createElement("li", { key: tag.name() },
162
- React.createElement(OperationsByTagItem, { tagName: tag.name() }, taggedOperations(tag)))));
163
- }),
164
- untaggedOperations.length > 0 && (React.createElement("li", null,
165
- React.createElement(OperationsByTagItem, { tagName: "Untagged" }, untaggedOperations))))));
166
+ if (showOperations === 'byDefault') {
167
+ return (React.createElement("ul", { className: "text-sm mt-2" }, operations.map(function (_a) {
168
+ var name = _a.name, data = _a.data;
169
+ return (React.createElement(OperationItem, __assign({ key: name }, data)));
170
+ })));
171
+ }
172
+ var operationTagNames;
173
+ if (showOperations === 'bySpecTags') {
174
+ operationTagNames = (asyncapi.tags() || []).map(function (tag) { return tag.name(); });
175
+ }
176
+ else {
177
+ var operationTagNamesSet_1 = new Set();
178
+ Object.values(operations).forEach(function (_a) {
179
+ var object = _a.object;
180
+ if (typeof object.tags !== 'function') {
181
+ return;
182
+ }
183
+ object.tags().forEach(function (t) { return operationTagNamesSet_1.add(t.name()); });
184
+ });
185
+ operationTagNames = Array.from(operationTagNamesSet_1);
186
+ }
187
+ var _a = filterObjectsByTags(operationTagNames, operations), tagged = _a.tagged, untagged = _a.untagged;
188
+ return (React.createElement("ul", { className: "text-sm mt-2" },
189
+ Array.from(tagged.entries()).map(function (_a) {
190
+ var tag = _a[0], taggedOperations = _a[1];
191
+ return (React.createElement("li", { key: tag },
192
+ React.createElement(ItemsByTagItem, { tagName: tag }, taggedOperations.map(function (_a) {
193
+ var name = _a.name, data = _a.data;
194
+ return (React.createElement(OperationItem, __assign({ key: name }, data)));
195
+ }))));
196
+ }),
197
+ untagged.length > 0 ? (React.createElement("li", null,
198
+ React.createElement(ItemsByTagItem, { tagName: "Untagged" }, untagged.map(function (_a) {
199
+ var name = _a.name, data = _a.data;
200
+ return (React.createElement(OperationItem, __assign({ key: name }, data)));
201
+ })))) : null));
202
+ };
203
+ var OperationItem = function (_a) {
204
+ var channelName = _a.channelName, summary = _a.summary, kind = _a.kind;
205
+ var config = useConfig();
206
+ var setShowSidebar = useContext(SidebarContext).setShowSidebar;
207
+ var isPublish = kind === 'publish';
208
+ var label = '';
209
+ if (isPublish) {
210
+ label = config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT;
211
+ }
212
+ else {
213
+ label = config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT;
214
+ }
215
+ return (React.createElement("li", null,
216
+ React.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#operation-".concat(kind, "-").concat(channelName), onClick: function () { return setShowSidebar(false); } },
217
+ React.createElement("span", { className: "".concat(isPublish ? 'bg-blue-600' : 'bg-green-600', " font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs"), title: isPublish ? 'Publish' : 'Subscribe' }, label),
218
+ React.createElement("span", { className: "break-all inline-block" }, summary || channelName))));
166
219
  };
167
- var OperationsByTagItem = function (_a) {
220
+ var ServerItem = function (_a) {
221
+ var serverName = _a.serverName;
222
+ var setShowSidebar = useContext(SidebarContext).setShowSidebar;
223
+ return (React.createElement("li", null,
224
+ React.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#server-".concat(serverName), onClick: function () { return setShowSidebar(false); } },
225
+ React.createElement("span", { className: "break-all inline-block" }, serverName))));
226
+ };
227
+ var ItemsByTagItem = function (_a) {
168
228
  var tagName = _a.tagName, children = _a.children;
169
229
  var _b = useState(false), expand = _b[0], setExpand = _b[1];
170
230
  return (React.createElement("div", null,
@@ -174,22 +234,4 @@ var OperationsByTagItem = function (_a) {
174
234
  React.createElement("span", { className: "text-sm inline-block mt-1 font-extralight" }, tagName)),
175
235
  React.createElement("ul", { className: "".concat(expand ? 'block' : 'hidden', " text-sm mt-2 font-light") }, children)));
176
236
  };
177
- var OperationsPubItem = function (_a) {
178
- var channelName = _a.channelName;
179
- var config = useConfig();
180
- var setShowSidebar = useContext(SidebarContext).setShowSidebar;
181
- return (React.createElement("li", null,
182
- React.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#operation-publish-".concat(channelName), onClick: function () { return setShowSidebar(false); } },
183
- React.createElement("span", { className: "bg-blue-600 font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs", title: "Publish" }, config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT),
184
- React.createElement("span", { className: "break-all inline-block" }, channelName))));
185
- };
186
- var OperationsSubItem = function (_a) {
187
- var channelName = _a.channelName;
188
- var config = useConfig();
189
- var setShowSidebar = useContext(SidebarContext).setShowSidebar;
190
- return (React.createElement("li", null,
191
- React.createElement("a", { className: "flex no-underline text-gray-700 mb-2 hover:text-gray-900", href: "#operation-subscribe-".concat(channelName), onClick: function () { return setShowSidebar(false); } },
192
- React.createElement("span", { className: "bg-green-600 font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs", title: "Subscribe" }, config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT),
193
- React.createElement("span", { className: "break-all inline-block" }, channelName))));
194
- };
195
237
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\nimport { Tag } from '@asyncapi/parser';\n\nimport { CollapseButton } from '../../components';\nimport { SideBarConfig } from '../../config/config';\nimport { useConfig, useSpec } from '../../contexts';\nimport { SpecificationHelpers } from '../../helpers';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\n\nconst SidebarContext = React.createContext<{\n setShowSidebar: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n setShowSidebar: (value: boolean | ((prevValue: boolean) => boolean)) => value,\n});\n\ninterface Props {\n config?: SideBarConfig;\n}\n\nexport const Sidebar: React.FunctionComponent<Props> = ({ config }) => {\n const [showSidebar, setShowSidebar] = useState(false);\n\n const showOperations = config?.showOperations || 'byDefault';\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n const logo = info.ext('x-logo');\n const components = asyncapi.hasComponents() && asyncapi.components();\n const messages = components && components.messages();\n const schemas = components && components.schemas();\n\n let Operations = OperationsList;\n if (showOperations === 'bySpecTags') {\n Operations = OperationsByRootTags;\n } else if (showOperations === 'byOperationsTags') {\n Operations = OperationsByOperationsTags;\n }\n\n const messagesList = messages && Object.keys(messages).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#messages\"\n onClick={() => setShowSidebar(false)}\n >\n Messages\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.entries(messages).map(([messageName, message]) => (\n <li key={messageName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#message-${messageName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{message.uid()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n const schemasList = schemas && Object.keys(schemas).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#schemas\"\n onClick={() => setShowSidebar(false)}\n >\n Schemas\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.keys(schemas).map(schemaName => (\n <li key={schemaName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#schema-${schemaName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{schemaName}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n return (\n <SidebarContext.Provider value={{ setShowSidebar }}>\n <div\n 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\"\n onClick={() => setShowSidebar(prev => !prev)}\n data-lol={showSidebar}\n >\n <svg\n viewBox=\"0 0 100 70\"\n width=\"40\"\n height=\"30\"\n className=\"fill-current text-gray-200\"\n >\n <rect width=\"100\" height=\"10\" />\n <rect y=\"30\" width=\"100\" height=\"10\" />\n <rect y=\"60\" width=\"100\" height=\"10\" />\n </svg>\n </div>\n <div\n className={`${\n showSidebar ? 'block fixed w-full' : 'hidden'\n } sidebar relative w-64 max-h-screen h-full bg-gray-200 shadow z-20`}\n // className={`${\n // showSidebar ? 'block fixed w-full' : 'hidden'\n // } sidebar bg-gray-200 font-sans font-light px-4 py-8 z-20 shadow overflow-auto`}\n >\n <div\n className={`${\n showSidebar ? 'w-full' : ''\n } block fixed max-h-screen h-full font-sans px-4 pt-8 pb-16 overflow-y-auto bg-gray-200`}\n >\n <div className=\"sidebar--content\">\n <div>\n {logo ? (\n <img\n src={logo}\n alt={`${info.title()} logo, ${info.version()} version`}\n />\n ) : (\n <h1 className=\"text-2xl font-light\">\n {info.title()} {info.version()}\n </h1>\n )}\n </div>\n\n <ul className=\"text-sm mt-10 relative\">\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#introduction\"\n onClick={() => setShowSidebar(false)}\n >\n Introduction\n </a>\n </li>\n {asyncapi.hasServers() && (\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#servers\"\n onClick={() => setShowSidebar(false)}\n >\n Servers\n </a>\n </li>\n )}\n {asyncapi.hasChannels() && (\n <>\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#operations\"\n onClick={() => setShowSidebar(false)}\n >\n Operations\n </a>\n <Operations />\n </li>\n {messagesList}\n {schemasList}\n </>\n )}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\n};\n\nexport const OperationsList: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const channels = asyncapi.channels();\n\n const operationsList: React.ReactNodeArray = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (channel.hasPublish()) {\n operationsList.push(\n <OperationsPubItem\n channelName={channelName}\n key={`pub-${channelName}`}\n />,\n );\n }\n if (channel.hasSubscribe()) {\n operationsList.push(\n <OperationsSubItem\n channelName={channelName}\n key={`sub-${channelName}`}\n />,\n );\n }\n });\n\n return <ul className=\"text-sm mt-2\">{operationsList}</ul>;\n};\n\nexport const OperationsByRootTags: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const channels = asyncapi.channels();\n const tags = asyncapi.tags();\n\n const taggedOperations = (tag: Tag) => {\n const operationsList: React.ReactNodeArray = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (\n channel.hasPublish() &&\n SpecificationHelpers.containTags(channel.publish(), tag)\n ) {\n operationsList.push(\n <OperationsPubItem\n channelName={channelName}\n key={`pub-${channelName}`}\n />,\n );\n }\n if (\n channel.hasSubscribe() &&\n SpecificationHelpers.containTags(channel.subscribe(), tag)\n ) {\n operationsList.push(\n <OperationsSubItem\n channelName={channelName}\n key={`sub-${channelName}`}\n />,\n );\n }\n });\n return operationsList;\n };\n\n const untaggedOperations: React.ReactNodeArray = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (\n channel.hasPublish() &&\n (!channel.publish().hasTags() ||\n !SpecificationHelpers.containTags(channel.publish(), tags))\n ) {\n untaggedOperations.push(\n <OperationsPubItem\n channelName={channelName}\n key={`pub-${channelName}`}\n />,\n );\n }\n if (\n channel.hasSubscribe() &&\n (!channel.subscribe().hasTags() ||\n !SpecificationHelpers.containTags(channel.subscribe(), tags))\n ) {\n untaggedOperations.push(\n <OperationsSubItem\n channelName={channelName}\n key={`sub-${channelName}`}\n />,\n );\n }\n });\n\n return (\n <div>\n <ul>\n {tags &&\n tags.map(tag => {\n const ops = taggedOperations(tag);\n return (\n ops.length > 0 && (\n <li key={tag.name()}>\n <OperationsByTagItem tagName={tag.name()}>\n {taggedOperations(tag)}\n </OperationsByTagItem>\n </li>\n )\n );\n })}\n {untaggedOperations.length > 0 && (\n <li>\n <OperationsByTagItem tagName=\"Untagged\">\n {untaggedOperations}\n </OperationsByTagItem>\n </li>\n )}\n </ul>\n </div>\n );\n};\n\nexport const OperationsByOperationsTags: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const channels = asyncapi.channels();\n const operationsTags = SpecificationHelpers.operationsTags(asyncapi);\n\n const taggedOperations = (tag: Tag) => {\n const operationsList: React.ReactNodeArray = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (\n channel.hasPublish() &&\n SpecificationHelpers.containTags(channel.publish(), tag)\n ) {\n operationsList.push(\n <OperationsPubItem\n channelName={channelName}\n key={`pub-${channelName}`}\n />,\n );\n }\n if (\n channel.hasSubscribe() &&\n SpecificationHelpers.containTags(channel.subscribe(), tag)\n ) {\n operationsList.push(\n <OperationsSubItem\n channelName={channelName}\n key={`sub-${channelName}`}\n />,\n );\n }\n });\n return operationsList;\n };\n\n const untaggedOperations: React.ReactNodeArray = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (\n channel.hasPublish() &&\n (!channel.publish().hasTags() ||\n !SpecificationHelpers.containTags(channel.publish(), operationsTags))\n ) {\n untaggedOperations.push(\n <OperationsPubItem\n channelName={channelName}\n key={`pub-${channelName}`}\n />,\n );\n }\n if (\n channel.hasSubscribe() &&\n (!channel.subscribe().hasTags() ||\n !SpecificationHelpers.containTags(channel.subscribe(), operationsTags))\n ) {\n untaggedOperations.push(\n <OperationsSubItem\n channelName={channelName}\n key={`sub-${channelName}`}\n />,\n );\n }\n });\n\n return (\n <div>\n <ul>\n {operationsTags &&\n operationsTags.map(tag => {\n const ops = taggedOperations(tag);\n return (\n ops.length > 0 && (\n <li key={tag.name()}>\n <OperationsByTagItem tagName={tag.name()}>\n {taggedOperations(tag)}\n </OperationsByTagItem>\n </li>\n )\n );\n })}\n {untaggedOperations.length > 0 && (\n <li>\n <OperationsByTagItem tagName=\"Untagged\">\n {untaggedOperations}\n </OperationsByTagItem>\n </li>\n )}\n </ul>\n </div>\n );\n};\n\ninterface OperationsByTagItemProps {\n tagName: string;\n}\n\nconst OperationsByTagItem: React.FunctionComponent<OperationsByTagItemProps> = ({\n tagName,\n children,\n}) => {\n const [expand, setExpand] = useState(false);\n\n return (\n <div>\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n <span className=\"text-sm inline-block mt-1 font-extralight\">\n {tagName}\n </span>\n </CollapseButton>\n <ul className={`${expand ? 'block' : 'hidden'} text-sm mt-2 font-light`}>\n {children}\n </ul>\n </div>\n );\n};\n\ninterface OperationsPubItemProps {\n channelName: string;\n}\n\nconst OperationsPubItem: React.FunctionComponent<OperationsPubItemProps> = ({\n channelName,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-publish-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className=\"bg-blue-600 font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs\"\n title=\"Publish\"\n >\n {config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT}\n </span>\n <span className=\"break-all inline-block\">{channelName}</span>\n </a>\n </li>\n );\n};\n\nconst OperationsSubItem: React.FunctionComponent<OperationsPubItemProps> = ({\n channelName,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-subscribe-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className=\"bg-green-600 font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs\"\n title=\"Subscribe\"\n >\n {config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT}\n </span>\n <span className=\"break-all inline-block\">{channelName}</span>\n </a>\n </li>\n );\n};\n"]}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, useContext } from 'react';\n\nimport { CollapseButton } from '../../components';\nimport { useConfig, useSpec } from '../../contexts';\nimport {\n PUBLISH_LABEL_DEFAULT_TEXT,\n SUBSCRIBE_LABEL_DEFAULT_TEXT,\n} from '../../constants';\n\nconst SidebarContext = React.createContext<{\n setShowSidebar: React.Dispatch<React.SetStateAction<boolean>>;\n}>({\n setShowSidebar: (value: boolean | ((prevValue: boolean) => boolean)) => value,\n});\n\nexport const Sidebar: React.FunctionComponent = () => {\n const [showSidebar, setShowSidebar] = useState(false);\n const asyncapi = useSpec();\n\n const info = asyncapi.info();\n const logo = info.ext('x-logo');\n const components = asyncapi.hasComponents() && asyncapi.components();\n const messages = components && components.messages();\n const schemas = components && components.schemas();\n const hasOperations =\n asyncapi.hasChannels() &&\n Object.values(asyncapi.channels()).some(\n channel => channel.hasPublish() || channel.hasSubscribe(),\n );\n\n const messagesList = messages && Object.keys(messages).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#messages\"\n onClick={() => setShowSidebar(false)}\n >\n Messages\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.entries(messages).map(([messageName, message]) => (\n <li key={messageName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#message-${messageName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{message.uid()}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n const schemasList = schemas && Object.keys(schemas).length > 0 && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#schemas\"\n onClick={() => setShowSidebar(false)}\n >\n Schemas\n </a>\n <ul className=\"text-sm mt-2\">\n {Object.keys(schemas).map(schemaName => (\n <li key={schemaName}>\n <a\n className=\"flex break-words no-underline text-gray-700 mt-2 hover:text-gray-900\"\n href={`#schema-${schemaName}`}\n onClick={() => setShowSidebar(false)}\n >\n <div className=\"break-all inline-block\">{schemaName}</div>\n </a>\n </li>\n ))}\n </ul>\n </li>\n );\n\n return (\n <SidebarContext.Provider value={{ setShowSidebar }}>\n <div\n 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\"\n onClick={() => setShowSidebar(prev => !prev)}\n data-lol={showSidebar}\n >\n <svg\n viewBox=\"0 0 100 70\"\n width=\"40\"\n height=\"30\"\n className=\"fill-current text-gray-200\"\n >\n <rect width=\"100\" height=\"10\" />\n <rect y=\"30\" width=\"100\" height=\"10\" />\n <rect y=\"60\" width=\"100\" height=\"10\" />\n </svg>\n </div>\n <div\n className={`${\n showSidebar ? 'block fixed w-full' : 'hidden'\n } sidebar relative w-64 max-h-screen h-full bg-gray-200 shadow z-20`}\n // className={`${\n // showSidebar ? 'block fixed w-full' : 'hidden'\n // } sidebar bg-gray-200 font-sans font-light px-4 py-8 z-20 shadow overflow-auto`}\n >\n <div\n className={`${\n showSidebar ? 'w-full' : ''\n } block fixed max-h-screen h-full font-sans px-4 pt-8 pb-16 overflow-y-auto bg-gray-200`}\n >\n <div className=\"sidebar--content\">\n <div>\n {logo ? (\n <img\n src={logo}\n alt={`${info.title()} logo, ${info.version()} version`}\n />\n ) : (\n <h1 className=\"text-2xl font-light\">\n {info.title()} {info.version()}\n </h1>\n )}\n </div>\n\n <ul className=\"text-sm mt-10 relative\">\n <li className=\"mb-3\">\n <a\n className=\"text-gray-700 no-underline hover:text-gray-900\"\n href=\"#introduction\"\n onClick={() => setShowSidebar(false)}\n >\n Introduction\n </a>\n </li>\n {asyncapi.hasServers() && (\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#servers\"\n onClick={() => setShowSidebar(false)}\n >\n Servers\n </a>\n <ServersList />\n </li>\n )}\n {hasOperations && (\n <>\n <li className=\"mb-3 mt-9\">\n <a\n className=\"text-xs uppercase text-gray-700 mt-10 mb-4 font-thin hover:text-gray-900\"\n href=\"#operations\"\n onClick={() => setShowSidebar(false)}\n >\n Operations\n </a>\n <OperationsList />\n </li>\n {messagesList}\n {schemasList}\n </>\n )}\n </ul>\n </div>\n </div>\n </div>\n </SidebarContext.Provider>\n );\n};\n\ninterface TagObject<T = any> {\n name: string;\n object: { tags?: () => Array<{ name: () => string }> };\n data: T;\n}\n\nfunction filterObjectsByTags<T = any>(\n tags: string[],\n objects: Array<TagObject<T>>,\n): { tagged: Map<string, TagObject[]>; untagged: TagObject[] } {\n const taggedObjects = new Set<TagObject>();\n const tagged = new Map<string, TagObject[]>();\n\n tags.forEach(tag => {\n const taggedForTag: TagObject[] = [];\n objects.forEach(obj => {\n const object = obj.object;\n if (typeof object.tags !== 'function') {\n return;\n }\n\n const objectTags = (object.tags() || []).map(t => t.name());\n const hasTag = objectTags.includes(tag);\n if (hasTag) {\n taggedForTag.push(obj);\n taggedObjects.add(obj);\n }\n });\n tagged.set(tag, taggedForTag);\n });\n\n const untagged: TagObject[] = [];\n objects.forEach(obj => {\n if (!taggedObjects.has(obj)) {\n untagged.push(obj);\n }\n });\n\n return { tagged, untagged };\n}\n\nconst ServersList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const servers = asyncapi.servers();\n const showServers = sidebarConfig?.showServers || 'byDefault';\n\n if (showServers === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {Object.keys(servers).map(serverName => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ul>\n );\n }\n\n let specTagNames: string[];\n if (showServers === 'bySpecTags') {\n specTagNames = (asyncapi.tags() || []).map(tag => tag.name());\n } else {\n const serverTagNamesSet = new Set<string>();\n Object.values(servers).forEach(server => {\n if (typeof server.tags !== 'function') {\n return;\n }\n server.tags().forEach(t => serverTagNamesSet.add(t.name()));\n });\n specTagNames = Array.from(serverTagNamesSet);\n }\n\n const serializedServers: TagObject[] = Object.entries(servers).map(\n ([serverName, server]) => ({\n name: serverName,\n object: server,\n data: {},\n }),\n );\n const { tagged, untagged } = filterObjectsByTags(\n specTagNames,\n serializedServers,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedServers]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedServers.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name: serverName }) => (\n <ServerItem serverName={serverName} key={serverName} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\nconst OperationsList: React.FunctionComponent = () => {\n const sidebarConfig = useConfig().sidebar;\n const asyncapi = useSpec();\n const channels = asyncapi.channels();\n const showOperations = sidebarConfig?.showOperations || 'byDefault';\n\n const operations: Array<TagObject<{\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n }>> = [];\n Object.entries(channels).forEach(([channelName, channel]) => {\n if (channel.hasPublish()) {\n const operation = channel.publish();\n operations.push({\n name: `publish-${channelName}`,\n object: operation,\n data: { channelName, kind: 'publish', summary: operation.summary() },\n });\n }\n if (channel.hasSubscribe()) {\n const operation = channel.subscribe();\n operations.push({\n name: `subscribe-${channelName}`,\n object: operation,\n data: { channelName, kind: 'subscribe', summary: operation.summary() },\n });\n }\n });\n\n if (showOperations === 'byDefault') {\n return (\n <ul className=\"text-sm mt-2\">\n {operations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ul>\n );\n }\n\n let operationTagNames: string[];\n if (showOperations === 'bySpecTags') {\n operationTagNames = (asyncapi.tags() || []).map(tag => tag.name());\n } else {\n const operationTagNamesSet = new Set<string>();\n Object.values(operations).forEach(({ object }) => {\n if (typeof object.tags !== 'function') {\n return;\n }\n object.tags().forEach(t => operationTagNamesSet.add(t.name()));\n });\n operationTagNames = Array.from(operationTagNamesSet);\n }\n\n const { tagged, untagged } = filterObjectsByTags(\n operationTagNames,\n operations,\n );\n return (\n <ul className=\"text-sm mt-2\">\n {Array.from(tagged.entries()).map(([tag, taggedOperations]) => (\n <li key={tag}>\n <ItemsByTagItem tagName={tag}>\n {taggedOperations.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ))}\n {untagged.length > 0 ? (\n <li>\n <ItemsByTagItem tagName=\"Untagged\">\n {untagged.map(({ name, data }) => (\n <OperationItem key={name} {...data} />\n ))}\n </ItemsByTagItem>\n </li>\n ) : null}\n </ul>\n );\n};\n\ninterface OperationItemProps {\n channelName: string;\n summary: string;\n kind: 'publish' | 'subscribe';\n}\n\nconst OperationItem: React.FunctionComponent<OperationItemProps> = ({\n channelName,\n summary,\n kind,\n}) => {\n const config = useConfig();\n const { setShowSidebar } = useContext(SidebarContext);\n\n const isPublish = kind === 'publish';\n let label: string = '';\n if (isPublish) {\n label = config.publishLabel || PUBLISH_LABEL_DEFAULT_TEXT;\n } else {\n label = config.subscribeLabel || SUBSCRIBE_LABEL_DEFAULT_TEXT;\n }\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#operation-${kind}-${channelName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span\n className={`${\n isPublish ? 'bg-blue-600' : 'bg-green-600'\n } font-bold h-6 no-underline text-white uppercase p-1 mr-2 rounded text-xs`}\n title={isPublish ? 'Publish' : 'Subscribe'}\n >\n {label}\n </span>\n <span className=\"break-all inline-block\">{summary || channelName}</span>\n </a>\n </li>\n );\n};\n\ninterface ServerItemProps {\n serverName: string;\n}\n\nconst ServerItem: React.FunctionComponent<ServerItemProps> = ({\n serverName,\n}) => {\n const { setShowSidebar } = useContext(SidebarContext);\n\n return (\n <li>\n <a\n className=\"flex no-underline text-gray-700 mb-2 hover:text-gray-900\"\n href={`#server-${serverName}`}\n onClick={() => setShowSidebar(false)}\n >\n <span className=\"break-all inline-block\">{serverName}</span>\n </a>\n </li>\n );\n};\n\ninterface ItemsByTagItemProps {\n tagName: string;\n}\n\nconst ItemsByTagItem: React.FunctionComponent<ItemsByTagItemProps> = ({\n tagName,\n children,\n}) => {\n const [expand, setExpand] = useState(false);\n\n return (\n <div>\n <CollapseButton\n onClick={() => setExpand(prev => !prev)}\n chevronProps={{\n className: expand ? '-rotate-180' : '-rotate-90',\n }}\n >\n <span className=\"text-sm inline-block mt-1 font-extralight\">\n {tagName}\n </span>\n </CollapseButton>\n <ul className={`${expand ? 'block' : 'hidden'} text-sm mt-2 font-light`}>\n {children}\n </ul>\n </div>\n );\n};\n"]}
@@ -55,6 +55,23 @@ var SpecificationHelpers = (function () {
55
55
  });
56
56
  return Array.from(tags.values());
57
57
  };
58
+ SpecificationHelpers.serversTags = function (spec) {
59
+ var tags = {};
60
+ Object.entries(spec.servers()).forEach(function (_a) {
61
+ var _ = _a[0], server = _a[1];
62
+ if (server.hasTags()) {
63
+ server.tags().forEach(function (tag) {
64
+ if (tags[tag.name()]) {
65
+ tags[tag.name()] = [tags[tag.name()], _];
66
+ }
67
+ else {
68
+ tags[tag.name()] = _;
69
+ }
70
+ });
71
+ }
72
+ });
73
+ return tags;
74
+ };
58
75
  return SpecificationHelpers;
59
76
  }());
60
77
  export { SpecificationHelpers };
@@ -1 +1 @@
1
- {"version":3,"file":"specification.js","sourceRoot":"","sources":["../../../src/helpers/specification.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncAPIDocument, Tag } from '@asyncapi/parser';\n// @ts-ignore\nimport AsyncAPIDocumentModel from '@asyncapi/parser/lib/models/asyncapi';\n\nexport class SpecificationHelpers {\n /**\n * Returns parsed AsyncAPI specification.\n */\n static retrieveParsedSpec(schema: any): AsyncAPIDocument | undefined {\n if (!schema) {\n return undefined;\n }\n\n // check if schema is an instance of AsyncAPIDocument (model from AsyncAPI Parser)\n if (schema.constructor && schema.constructor.name === 'AsyncAPIDocument') {\n return schema as AsyncAPIDocument;\n }\n\n // then check if schema is an instance of AsyncAPIDocument (model from AsyncAPI Parser)\n // this check is used for security in case of code mangling (unification)\n if (\n typeof schema.version === 'function' &&\n schema._json &&\n schema._json.asyncapi\n ) {\n return schema as AsyncAPIDocument;\n }\n\n // check if input is a string and try parse it\n if (typeof schema === 'string') {\n try {\n schema = JSON.parse(schema);\n } catch (e) {\n return undefined;\n }\n }\n\n // at the end check if schema is a parsed JS object (as output from AsyncAPI Parser)\n if (typeof schema === 'object' && schema['x-parser-spec-parsed'] === true) {\n // if schema is stringified by `AsyncAPIDocument.stringify` function\n if (schema['x-parser-spec-stringified'] === true) {\n return AsyncAPIDocumentModel.parse(schema);\n }\n return new AsyncAPIDocumentModel(schema);\n }\n\n return undefined;\n }\n\n /**\n * Check if given schema have one of the specified tags.\n */\n static containTags(schema: any, tags: Tag | Tag[]): boolean {\n const tagsToCheck =\n typeof schema.tags === 'function' ? schema.tags() : undefined;\n if (tagsToCheck === undefined || !Array.isArray(tagsToCheck)) {\n return false;\n }\n tags = Array.isArray(tags) ? tags : [tags];\n return tagsToCheck.some((tag: Tag) =>\n (tags as Tag[]).some(t => t.name() === tag.name()),\n );\n }\n\n /**\n * Return all tags from operations\n */\n static operationsTags(spec: AsyncAPIDocument) {\n const tags = new Map<string, Tag>();\n Object.entries(spec.channels()).forEach(([_, channel]) => {\n const publish = channel.publish();\n if (publish && publish.hasTags()) {\n publish.tags().forEach(tag => tags.set(tag.name(), tag));\n }\n const subscribe = channel.subscribe();\n if (subscribe && subscribe.hasTags()) {\n subscribe.tags().forEach(tag => tags.set(tag.name(), tag));\n }\n });\n return Array.from(tags.values());\n }\n}\n"]}
1
+ {"version":3,"file":"specification.js","sourceRoot":"","sources":["../../../src/helpers/specification.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsyncAPIDocument, Tag } from '@asyncapi/parser';\n// @ts-ignore\nimport AsyncAPIDocumentModel from '@asyncapi/parser/lib/models/asyncapi';\n\nexport class SpecificationHelpers {\n /**\n * Returns parsed AsyncAPI specification.\n */\n static retrieveParsedSpec(schema: any): AsyncAPIDocument | undefined {\n if (!schema) {\n return undefined;\n }\n\n // check if schema is an instance of AsyncAPIDocument (model from AsyncAPI Parser)\n if (schema.constructor && schema.constructor.name === 'AsyncAPIDocument') {\n return schema as AsyncAPIDocument;\n }\n\n // then check if schema is an instance of AsyncAPIDocument (model from AsyncAPI Parser)\n // this check is used for security in case of code mangling (unification)\n if (\n typeof schema.version === 'function' &&\n schema._json &&\n schema._json.asyncapi\n ) {\n return schema as AsyncAPIDocument;\n }\n\n // check if input is a string and try parse it\n if (typeof schema === 'string') {\n try {\n schema = JSON.parse(schema);\n } catch (e) {\n return undefined;\n }\n }\n\n // at the end check if schema is a parsed JS object (as output from AsyncAPI Parser)\n if (typeof schema === 'object' && schema['x-parser-spec-parsed'] === true) {\n // if schema is stringified by `AsyncAPIDocument.stringify` function\n if (schema['x-parser-spec-stringified'] === true) {\n return AsyncAPIDocumentModel.parse(schema);\n }\n return new AsyncAPIDocumentModel(schema);\n }\n\n return undefined;\n }\n\n /**\n * Check if given schema have one of the specified tags.\n */\n static containTags(schema: any, tags: Tag | Tag[]): boolean {\n const tagsToCheck =\n typeof schema.tags === 'function' ? schema.tags() : undefined;\n if (tagsToCheck === undefined || !Array.isArray(tagsToCheck)) {\n return false;\n }\n tags = Array.isArray(tags) ? tags : [tags];\n return tagsToCheck.some((tag: Tag) =>\n (tags as Tag[]).some(t => t.name() === tag.name()),\n );\n }\n\n /**\n * Return all tags from operations\n */\n static operationsTags(spec: AsyncAPIDocument) {\n const tags = new Map<string, Tag>();\n Object.entries(spec.channels()).forEach(([_, channel]) => {\n const publish = channel.publish();\n if (publish && publish.hasTags()) {\n publish.tags().forEach(tag => tags.set(tag.name(), tag));\n }\n const subscribe = channel.subscribe();\n if (subscribe && subscribe.hasTags()) {\n subscribe.tags().forEach(tag => tags.set(tag.name(), tag));\n }\n });\n return Array.from(tags.values());\n }\n\n /**\n * Return all tags from servers\n */\n static serversTags(spec: AsyncAPIDocument) {\n const tags = {} as { string: string[] };\n Object.entries(spec.servers()).forEach(([_, server]) => {\n if (server.hasTags()) {\n server.tags().forEach(tag => {\n if (tags[tag.name()]) {\n tags[tag.name()] = [tags[tag.name()], _];\n } else {\n tags[tag.name()] = _;\n }\n });\n }\n });\n return tags;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CollapseButton.d.ts","sourceRoot":"","sources":["../../../src/components/CollapseButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGnE,UAAU,KAAM,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC7D,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAmBzD,CAAC"}
1
+ {"version":3,"file":"CollapseButton.d.ts","sourceRoot":"","sources":["../../../src/components/CollapseButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEnE,UAAU,KAAM,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC7D,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAsBD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAmBzD,CAAC"}
@@ -20,6 +20,7 @@ export interface ExpandConfig {
20
20
  messageExamples?: boolean;
21
21
  }
22
22
  export interface SideBarConfig {
23
+ showServers?: 'byDefault' | 'bySpecTags' | 'byServersTags';
23
24
  showOperations?: 'byDefault' | 'bySpecTags' | 'byOperationsTags';
24
25
  }
25
26
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,kBAAkB,CAAC;CAClE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,CAAC;IAC3D,cAAc,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,kBAAkB,CAAC;CAClE"}
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,eAAO,MAAM,aAAa,EAAE,eAmB3B,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,eAAO,MAAM,aAAa,EAAE,eAoB3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,UAAU,KAAK;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAiDlD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"Layout.d.ts","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAWpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,UAAU,KAAK;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAkDlD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,11 +1,3 @@
1
1
  import React from 'react';
2
- import { SideBarConfig } from '../../config/config';
3
- interface Props {
4
- config?: SideBarConfig;
5
- }
6
- export declare const Sidebar: React.FunctionComponent<Props>;
7
- export declare const OperationsList: React.FunctionComponent;
8
- export declare const OperationsByRootTags: React.FunctionComponent;
9
- export declare const OperationsByOperationsTags: React.FunctionComponent;
10
- export {};
2
+ export declare const Sidebar: React.FunctionComponent;
11
3
  //# sourceMappingURL=Sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAcpD,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CA6JlD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,iBAyBlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,iBAwFxC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,KAAK,CAAC,iBAwF9C,CAAC"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../src/containers/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAepD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,iBA0J3B,CAAC"}
@@ -3,5 +3,8 @@ export declare class SpecificationHelpers {
3
3
  static retrieveParsedSpec(schema: any): AsyncAPIDocument | undefined;
4
4
  static containTags(schema: any, tags: Tag | Tag[]): boolean;
5
5
  static operationsTags(spec: AsyncAPIDocument): Tag[];
6
+ static serversTags(spec: AsyncAPIDocument): {
7
+ string: string[];
8
+ };
6
9
  }
7
10
  //# sourceMappingURL=specification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"specification.d.ts","sourceRoot":"","sources":["../../../src/helpers/specification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAIzD,qBAAa,oBAAoB;IAI/B,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,gBAAgB,GAAG,SAAS;IA4CpE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO;IAe3D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB;CAc7C"}
1
+ {"version":3,"file":"specification.d.ts","sourceRoot":"","sources":["../../../src/helpers/specification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAIzD,qBAAa,oBAAoB;IAI/B,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,GAAG,gBAAgB,GAAG,SAAS;IA4CpE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO;IAe3D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB;IAkB5C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB;gBACV,MAAM,EAAE;;CAcxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asyncapi/react-component",
3
- "version": "1.0.0-next.44",
3
+ "version": "1.0.0-next.46",
4
4
  "private": false,
5
5
  "description": "A React component for AsyncAPI specification.",
6
6
  "repository": {
@@ -75,7 +75,6 @@
75
75
  "isomorphic-dompurify": "^0.13.0",
76
76
  "marked": "^4.0.14",
77
77
  "openapi-sampler": "^1.2.1",
78
- "react-icons": "^4.4.0",
79
78
  "use-resize-observer": "^8.0.0"
80
79
  },
81
80
  "peerDependencies": {