@eventcatalog/generator-openapi 7.7.2 → 7.9.0

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/dist/index.d.mts CHANGED
@@ -15,6 +15,7 @@ type Props = {
15
15
  sidebarBadgeType?: 'HTTP_METHOD' | 'MESSAGE_TYPE';
16
16
  httpMethodsToMessages?: HTTP_METHOD_TO_MESSAGE_TYPE;
17
17
  preserveExistingMessages?: boolean;
18
+ parseExamples?: boolean;
18
19
  };
19
20
  declare const _default: (_: any, options: Props) => Promise<void>;
20
21
 
package/dist/index.d.ts CHANGED
@@ -15,6 +15,7 @@ type Props = {
15
15
  sidebarBadgeType?: 'HTTP_METHOD' | 'MESSAGE_TYPE';
16
16
  httpMethodsToMessages?: HTTP_METHOD_TO_MESSAGE_TYPE;
17
17
  preserveExistingMessages?: boolean;
18
+ parseExamples?: boolean;
18
19
  };
19
20
  declare const _default: (_: any, options: Props) => Promise<void>;
20
21
 
package/dist/index.js CHANGED
@@ -1632,6 +1632,53 @@ async function getSchemasByOperationId(filePath, operationId, parsedDocument) {
1632
1632
  return;
1633
1633
  }
1634
1634
  }
1635
+ async function getExamplesByOperationId(filePath, operationId, parsedDocument) {
1636
+ const api = parsedDocument || await import_swagger_parser.default.dereference(filePath);
1637
+ const examples = [];
1638
+ for (const [, pathItem] of Object.entries(api.paths)) {
1639
+ for (const [, operation] of Object.entries(pathItem)) {
1640
+ const typedOperation = operation;
1641
+ if (typedOperation.operationId !== operationId) continue;
1642
+ if (typedOperation.requestBody?.content) {
1643
+ const contentType = Object.keys(typedOperation.requestBody.content)[0];
1644
+ const mediaType = typedOperation.requestBody.content[contentType];
1645
+ if (mediaType.example) {
1646
+ examples.push({ fileName: "example.json", content: JSON.stringify(mediaType.example, null, 2) });
1647
+ }
1648
+ if (mediaType.examples) {
1649
+ for (const [name, exampleObj] of Object.entries(mediaType.examples)) {
1650
+ if (exampleObj.value) {
1651
+ examples.push({ fileName: `${name}.json`, content: JSON.stringify(exampleObj.value, null, 2) });
1652
+ }
1653
+ }
1654
+ }
1655
+ }
1656
+ if (typedOperation.responses) {
1657
+ for (const [statusCode, response] of Object.entries(typedOperation.responses)) {
1658
+ if (response.content) {
1659
+ const contentType = Object.keys(response.content)[0];
1660
+ const mediaType = response.content[contentType];
1661
+ if (mediaType.example) {
1662
+ examples.push({ fileName: `response-${statusCode}.json`, content: JSON.stringify(mediaType.example, null, 2) });
1663
+ }
1664
+ if (mediaType.examples) {
1665
+ for (const [name, exampleObj] of Object.entries(mediaType.examples)) {
1666
+ if (exampleObj.value) {
1667
+ examples.push({
1668
+ fileName: `response-${statusCode}-${name}.json`,
1669
+ content: JSON.stringify(exampleObj.value, null, 2)
1670
+ });
1671
+ }
1672
+ }
1673
+ }
1674
+ }
1675
+ }
1676
+ }
1677
+ return examples;
1678
+ }
1679
+ }
1680
+ return examples;
1681
+ }
1635
1682
  function getDeprecatedValues(openAPIOperation) {
1636
1683
  const deprecatedDate = openAPIOperation["x-eventcatalog-deprecated-date"] || null;
1637
1684
  const deprecatedMessage = openAPIOperation["x-eventcatalog-deprecated-message"] || null;
@@ -1841,6 +1888,17 @@ var buildMessage = async (pathToFile, document2, operation, generateMarkdown, me
1841
1888
  const separator = messageIdConfig.separator || "-";
1842
1889
  uniqueIdentifier = [serviceId, uniqueIdentifier].join(separator);
1843
1890
  }
1891
+ const validOperationMethods = ["GET", "POST", "PUT", "DELETE", "PATCH"];
1892
+ const operationMethod = operation.method.toUpperCase();
1893
+ let operationFrontmatter;
1894
+ if (validOperationMethods.includes(operationMethod)) {
1895
+ const statusCodes = requestBodiesAndResponses?.responses ? Object.keys(requestBodiesAndResponses.responses).filter((code) => code !== "default") : [];
1896
+ operationFrontmatter = {
1897
+ method: operationMethod,
1898
+ path: operation.path,
1899
+ ...statusCodes.length > 0 ? { statusCodes } : {}
1900
+ };
1901
+ }
1844
1902
  return {
1845
1903
  id: extensions["x-eventcatalog-message-id"] || uniqueIdentifier,
1846
1904
  version: messageVersion,
@@ -1855,7 +1913,8 @@ var buildMessage = async (pathToFile, document2, operation, generateMarkdown, me
1855
1913
  },
1856
1914
  messageName,
1857
1915
  ...extensions["x-eventcatalog-draft"] ? { draft: true } : {},
1858
- ...operation.deprecated ? { deprecated: operation.deprecated } : {}
1916
+ ...operation.deprecated ? { deprecated: operation.deprecated } : {},
1917
+ ...operationFrontmatter ? { operation: operationFrontmatter } : {}
1859
1918
  };
1860
1919
  };
1861
1920
 
@@ -1877,7 +1936,10 @@ var getMessageTypeUtils = (projectDirectory, messageType) => {
1877
1936
  getQuery,
1878
1937
  rmQueryById,
1879
1938
  writeQuery,
1880
- addFileToQuery
1939
+ addFileToQuery,
1940
+ addExampleToEvent,
1941
+ addExampleToCommand,
1942
+ addExampleToQuery
1881
1943
  } = (0, import_sdk.default)(projectDirectory);
1882
1944
  const messageTypeMap = {
1883
1945
  event: {
@@ -1886,6 +1948,7 @@ var getMessageTypeUtils = (projectDirectory, messageType) => {
1886
1948
  rmMessageById: rmEventById,
1887
1949
  writeMessage: writeEvent,
1888
1950
  addFileToMessage: addFileToEvent,
1951
+ addExampleToMessage: addExampleToEvent,
1889
1952
  collection: "events"
1890
1953
  },
1891
1954
  command: {
@@ -1894,6 +1957,7 @@ var getMessageTypeUtils = (projectDirectory, messageType) => {
1894
1957
  rmMessageById: rmCommandById,
1895
1958
  writeMessage: writeCommand,
1896
1959
  addFileToMessage: addFileToCommand,
1960
+ addExampleToMessage: addExampleToCommand,
1897
1961
  collection: "commands"
1898
1962
  },
1899
1963
  query: {
@@ -1902,6 +1966,7 @@ var getMessageTypeUtils = (projectDirectory, messageType) => {
1902
1966
  rmMessageById: rmQueryById,
1903
1967
  writeMessage: writeQuery,
1904
1968
  addFileToMessage: addFileToQuery,
1969
+ addExampleToMessage: addExampleToQuery,
1905
1970
  collection: "queries"
1906
1971
  }
1907
1972
  };
@@ -2990,27 +3055,95 @@ function ansiRegex({ onlyFirst = false } = {}) {
2990
3055
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
2991
3056
  }
2992
3057
 
2993
- // ../../node_modules/.pnpm/strip-ansi@7.1.2/node_modules/strip-ansi/index.js
3058
+ // ../../node_modules/.pnpm/strip-ansi@7.2.0/node_modules/strip-ansi/index.js
2994
3059
  var regex = ansiRegex();
2995
3060
  function stripAnsi(string) {
2996
3061
  if (typeof string !== "string") {
2997
3062
  throw new TypeError(`Expected a \`string\`, got \`${typeof string}\``);
2998
3063
  }
3064
+ if (!string.includes("\x1B") && !string.includes("\x9B")) {
3065
+ return string;
3066
+ }
2999
3067
  return string.replace(regex, "");
3000
3068
  }
3001
3069
 
3002
- // ../../node_modules/.pnpm/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/lookup.js
3003
- function isAmbiguous(x) {
3004
- return x === 161 || x === 164 || x === 167 || x === 168 || x === 170 || x === 173 || x === 174 || x >= 176 && x <= 180 || x >= 182 && x <= 186 || x >= 188 && x <= 191 || x === 198 || x === 208 || x === 215 || x === 216 || x >= 222 && x <= 225 || x === 230 || x >= 232 && x <= 234 || x === 236 || x === 237 || x === 240 || x === 242 || x === 243 || x >= 247 && x <= 250 || x === 252 || x === 254 || x === 257 || x === 273 || x === 275 || x === 283 || x === 294 || x === 295 || x === 299 || x >= 305 && x <= 307 || x === 312 || x >= 319 && x <= 322 || x === 324 || x >= 328 && x <= 331 || x === 333 || x === 338 || x === 339 || x === 358 || x === 359 || x === 363 || x === 462 || x === 464 || x === 466 || x === 468 || x === 470 || x === 472 || x === 474 || x === 476 || x === 593 || x === 609 || x === 708 || x === 711 || x >= 713 && x <= 715 || x === 717 || x === 720 || x >= 728 && x <= 731 || x === 733 || x === 735 || x >= 768 && x <= 879 || x >= 913 && x <= 929 || x >= 931 && x <= 937 || x >= 945 && x <= 961 || x >= 963 && x <= 969 || x === 1025 || x >= 1040 && x <= 1103 || x === 1105 || x === 8208 || x >= 8211 && x <= 8214 || x === 8216 || x === 8217 || x === 8220 || x === 8221 || x >= 8224 && x <= 8226 || x >= 8228 && x <= 8231 || x === 8240 || x === 8242 || x === 8243 || x === 8245 || x === 8251 || x === 8254 || x === 8308 || x === 8319 || x >= 8321 && x <= 8324 || x === 8364 || x === 8451 || x === 8453 || x === 8457 || x === 8467 || x === 8470 || x === 8481 || x === 8482 || x === 8486 || x === 8491 || x === 8531 || x === 8532 || x >= 8539 && x <= 8542 || x >= 8544 && x <= 8555 || x >= 8560 && x <= 8569 || x === 8585 || x >= 8592 && x <= 8601 || x === 8632 || x === 8633 || x === 8658 || x === 8660 || x === 8679 || x === 8704 || x === 8706 || x === 8707 || x === 8711 || x === 8712 || x === 8715 || x === 8719 || x === 8721 || x === 8725 || x === 8730 || x >= 8733 && x <= 8736 || x === 8739 || x === 8741 || x >= 8743 && x <= 8748 || x === 8750 || x >= 8756 && x <= 8759 || x === 8764 || x === 8765 || x === 8776 || x === 8780 || x === 8786 || x === 8800 || x === 8801 || x >= 8804 && x <= 8807 || x === 8810 || x === 8811 || x === 8814 || x === 8815 || x === 8834 || x === 8835 || x === 8838 || x === 8839 || x === 8853 || x === 8857 || x === 8869 || x === 8895 || x === 8978 || x >= 9312 && x <= 9449 || x >= 9451 && x <= 9547 || x >= 9552 && x <= 9587 || x >= 9600 && x <= 9615 || x >= 9618 && x <= 9621 || x === 9632 || x === 9633 || x >= 9635 && x <= 9641 || x === 9650 || x === 9651 || x === 9654 || x === 9655 || x === 9660 || x === 9661 || x === 9664 || x === 9665 || x >= 9670 && x <= 9672 || x === 9675 || x >= 9678 && x <= 9681 || x >= 9698 && x <= 9701 || x === 9711 || x === 9733 || x === 9734 || x === 9737 || x === 9742 || x === 9743 || x === 9756 || x === 9758 || x === 9792 || x === 9794 || x === 9824 || x === 9825 || x >= 9827 && x <= 9829 || x >= 9831 && x <= 9834 || x === 9836 || x === 9837 || x === 9839 || x === 9886 || x === 9887 || x === 9919 || x >= 9926 && x <= 9933 || x >= 9935 && x <= 9939 || x >= 9941 && x <= 9953 || x === 9955 || x === 9960 || x === 9961 || x >= 9963 && x <= 9969 || x === 9972 || x >= 9974 && x <= 9977 || x === 9979 || x === 9980 || x === 9982 || x === 9983 || x === 10045 || x >= 10102 && x <= 10111 || x >= 11094 && x <= 11097 || x >= 12872 && x <= 12879 || x >= 57344 && x <= 63743 || x >= 65024 && x <= 65039 || x === 65533 || x >= 127232 && x <= 127242 || x >= 127248 && x <= 127277 || x >= 127280 && x <= 127337 || x >= 127344 && x <= 127373 || x === 127375 || x === 127376 || x >= 127387 && x <= 127404 || x >= 917760 && x <= 917999 || x >= 983040 && x <= 1048573 || x >= 1048576 && x <= 1114109;
3005
- }
3006
- function isFullWidth(x) {
3007
- return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510;
3008
- }
3009
- function isWide(x) {
3010
- return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9776 && x <= 9783 || x >= 9800 && x <= 9811 || x === 9855 || x >= 9866 && x <= 9871 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12773 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x >= 94192 && x <= 94198 || x >= 94208 && x <= 101589 || x >= 101631 && x <= 101662 || x >= 101760 && x <= 101874 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x >= 119552 && x <= 119638 || x >= 119648 && x <= 119670 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128728 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129674 || x >= 129678 && x <= 129734 || x === 129736 || x >= 129741 && x <= 129756 || x >= 129759 && x <= 129770 || x >= 129775 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141;
3070
+ // ../../node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/lookup-data.js
3071
+ var ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];
3072
+ var fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];
3073
+ var halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];
3074
+ var narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];
3075
+ var wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];
3076
+
3077
+ // ../../node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/utilities.js
3078
+ var isInRange = (ranges, codePoint) => {
3079
+ let low = 0;
3080
+ let high = Math.floor(ranges.length / 2) - 1;
3081
+ while (low <= high) {
3082
+ const mid = Math.floor((low + high) / 2);
3083
+ const i = mid * 2;
3084
+ if (codePoint < ranges[i]) {
3085
+ high = mid - 1;
3086
+ } else if (codePoint > ranges[i + 1]) {
3087
+ low = mid + 1;
3088
+ } else {
3089
+ return true;
3090
+ }
3091
+ }
3092
+ return false;
3093
+ };
3094
+
3095
+ // ../../node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/lookup.js
3096
+ var minimumAmbiguousCodePoint = ambiguousRanges[0];
3097
+ var maximumAmbiguousCodePoint = ambiguousRanges.at(-1);
3098
+ var minimumFullWidthCodePoint = fullwidthRanges[0];
3099
+ var maximumFullWidthCodePoint = fullwidthRanges.at(-1);
3100
+ var minimumHalfWidthCodePoint = halfwidthRanges[0];
3101
+ var maximumHalfWidthCodePoint = halfwidthRanges.at(-1);
3102
+ var minimumNarrowCodePoint = narrowRanges[0];
3103
+ var maximumNarrowCodePoint = narrowRanges.at(-1);
3104
+ var minimumWideCodePoint = wideRanges[0];
3105
+ var maximumWideCodePoint = wideRanges.at(-1);
3106
+ var commonCjkCodePoint = 19968;
3107
+ var [wideFastPathStart, wideFastPathEnd] = findWideFastPathRange(wideRanges);
3108
+ function findWideFastPathRange(ranges) {
3109
+ let fastPathStart = ranges[0];
3110
+ let fastPathEnd = ranges[1];
3111
+ for (let index = 0; index < ranges.length; index += 2) {
3112
+ const start = ranges[index];
3113
+ const end = ranges[index + 1];
3114
+ if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {
3115
+ return [start, end];
3116
+ }
3117
+ if (end - start > fastPathEnd - fastPathStart) {
3118
+ fastPathStart = start;
3119
+ fastPathEnd = end;
3120
+ }
3121
+ }
3122
+ return [fastPathStart, fastPathEnd];
3011
3123
  }
3124
+ var isAmbiguous = (codePoint) => {
3125
+ if (codePoint < minimumAmbiguousCodePoint || codePoint > maximumAmbiguousCodePoint) {
3126
+ return false;
3127
+ }
3128
+ return isInRange(ambiguousRanges, codePoint);
3129
+ };
3130
+ var isFullWidth = (codePoint) => {
3131
+ if (codePoint < minimumFullWidthCodePoint || codePoint > maximumFullWidthCodePoint) {
3132
+ return false;
3133
+ }
3134
+ return isInRange(fullwidthRanges, codePoint);
3135
+ };
3136
+ var isWide = (codePoint) => {
3137
+ if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {
3138
+ return true;
3139
+ }
3140
+ if (codePoint < minimumWideCodePoint || codePoint > maximumWideCodePoint) {
3141
+ return false;
3142
+ }
3143
+ return isInRange(wideRanges, codePoint);
3144
+ };
3012
3145
 
3013
- // ../../node_modules/.pnpm/get-east-asian-width@1.4.0/node_modules/get-east-asian-width/index.js
3146
+ // ../../node_modules/.pnpm/get-east-asian-width@1.5.0/node_modules/get-east-asian-width/index.js
3014
3147
  function validate(codePoint) {
3015
3148
  if (!Number.isSafeInteger(codePoint)) {
3016
3149
  throw new TypeError(`Expected a code point, got \`${typeof codePoint}\`.`);
@@ -4072,7 +4205,7 @@ var import_node_path = require("path");
4072
4205
  // package.json
4073
4206
  var package_default = {
4074
4207
  name: "@eventcatalog/generator-openapi",
4075
- version: "7.7.2",
4208
+ version: "7.9.0",
4076
4209
  description: "OpenAPI generator for EventCatalog",
4077
4210
  scripts: {
4078
4211
  build: "tsup",
@@ -4109,7 +4242,7 @@ var package_default = {
4109
4242
  dependencies: {
4110
4243
  "@apidevtools/swagger-parser": "^10.1.0",
4111
4244
  "@changesets/cli": "^2.27.7",
4112
- "@eventcatalog/sdk": "2.12.1",
4245
+ "@eventcatalog/sdk": "2.17.4",
4113
4246
  chalk: "4.1.2",
4114
4247
  "js-yaml": "^4.1.0",
4115
4248
  "openapi-types": "^12.1.3",
@@ -4506,6 +4639,7 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
4506
4639
  const sidebarBadgeType = options.sidebarBadgeType || "HTTP_METHOD";
4507
4640
  const version = options.serviceVersion || document2.info.version;
4508
4641
  const preserveExistingMessages = options.preserveExistingMessages ?? true;
4642
+ const parseExamples = options.parseExamples ?? true;
4509
4643
  const isDraft = options.isDraft ?? null;
4510
4644
  let receives = [], sends = [];
4511
4645
  for (const operation of operations) {
@@ -4526,6 +4660,7 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
4526
4660
  console.log(import_chalk4.default.blue(`Processing message: ${message2.name} (v${message2.version})`));
4527
4661
  const {
4528
4662
  addFileToMessage,
4663
+ addExampleToMessage,
4529
4664
  writeMessage,
4530
4665
  getMessage,
4531
4666
  versionMessage,
@@ -4612,6 +4747,15 @@ var processMessagesForOpenAPISpec = async (pathToSpec, document2, servicePath, o
4612
4747
  );
4613
4748
  }
4614
4749
  }
4750
+ if (parseExamples && operation.operationId) {
4751
+ const operationExamples = await getExamplesByOperationId(pathToSpec, operation.operationId, document2);
4752
+ for (const example of operationExamples) {
4753
+ await addExampleToMessage(message2.id, { content: example.content, fileName: example.fileName }, message2.version);
4754
+ }
4755
+ if (operationExamples.length > 0) {
4756
+ console.log(import_chalk4.default.cyan(` - ${operationExamples.length} example(s) added to message (v${message2.version})`));
4757
+ }
4758
+ }
4615
4759
  console.log(import_chalk4.default.cyan(` - Message (v${message2.version}) created`));
4616
4760
  if (!operation.operationId) {
4617
4761
  console.log(import_chalk4.default.yellow(` - OperationId not found for ${operation.method} ${operation.path}, creating one...`));