UNPKG

@s1am0nd/asyncapi-react-component

Version:

A React component for AsyncAPI specification.

84 lines 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MessageHelpers = void 0; var openapi_sampler_1 = require("openapi-sampler"); var MessageHelpers = (function () { function MessageHelpers() { } MessageHelpers.generateExample = function (schema, options) { if (options === void 0) { options = {}; } try { return this.sanitizeExample((0, openapi_sampler_1.sample)(schema, options)) || ''; } catch (e) { return ''; } }; MessageHelpers.sanitizeExample = function (schema) { var _this = this; if (typeof schema === 'object' && schema && !Array.isArray(schema)) { return Object.entries(schema).reduce(function (obj, _a) { var propertyName = _a[0], property = _a[1]; if (!propertyName.startsWith('x-parser-') && !propertyName.startsWith('x-schema-private-')) { obj[propertyName] = _this.sanitizeExample(property); } return obj; }, {}); } return schema; }; MessageHelpers.getPayloadExamples = function (msg) { var examples = msg.examples(); if (Array.isArray(examples) && examples.some(function (e) { return e.payload; })) { var messageExamples = examples .flatMap(function (e) { if (!e.payload) { return; } return { name: e.name, summary: e.summary, example: e.payload, }; }) .filter(Boolean); if (messageExamples.length > 0) { return messageExamples; } } var payload = msg.payload(); if (payload && payload.examples()) { return payload.examples().map(function (example) { return ({ example: example }); }); } return; }; MessageHelpers.getHeadersExamples = function (msg) { var examples = msg.examples(); if (Array.isArray(examples) && examples.some(function (e) { return e.headers; })) { var messageExamples = examples .flatMap(function (e) { if (!e.headers) { return; } return { name: e.name, summary: e.summary, example: e.headers, }; }) .filter(Boolean); if (messageExamples.length > 0) { return messageExamples; } } var headers = msg.headers(); if (headers && headers.examples()) { return headers.examples().map(function (example) { return ({ example: example }); }); } return; }; return MessageHelpers; }()); exports.MessageHelpers = MessageHelpers; //# sourceMappingURL=message.js.map