@digi-frontend/dgate-api-documentation 1.0.39 → 1.0.50

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 (430) hide show
  1. package/.editorconfig +12 -12
  2. package/.prettierignore +7 -7
  3. package/.prettierrc +15 -15
  4. package/dist/{a7568b270e175038.svg → 070dc6ecd197bc80.svg} +8 -8
  5. package/dist/16702d92fd6d1730.svg +6 -0
  6. package/dist/2b546d6e9fdf604a.svg +3 -0
  7. package/dist/2c3c6c2c3b835504.svg +5 -0
  8. package/dist/{43595976d1fdccbf.svg → 2e10bbdb265df50e.svg} +4 -4
  9. package/dist/55b5994c5781482b.svg +5 -0
  10. package/dist/60bef8083c55f46b.svg +6 -0
  11. package/dist/68c710e0583e19e6.svg +5 -0
  12. package/dist/731221b3f242672d.svg +4 -0
  13. package/dist/{b82c7612e73342f3.svg → 7f54eeb0bb2d1150.svg} +3 -3
  14. package/dist/8520b6792278d9df.svg +6 -0
  15. package/dist/{56dc416b683db280.svg → 8789eb84283ea95b.svg} +5 -5
  16. package/dist/9506ef7a26a74147.svg +12 -0
  17. package/dist/9b7aee27757b5036.svg +3 -0
  18. package/dist/{af16a554be8c4d69.svg → 9bdff13f8d8fa48a.svg} +3 -3
  19. package/dist/_virtual/core.js +2 -0
  20. package/dist/_virtual/core.js.map +1 -0
  21. package/dist/_virtual/core2.js +2 -0
  22. package/dist/_virtual/core2.js.map +1 -0
  23. package/dist/_virtual/format.js +2 -0
  24. package/dist/_virtual/format.js.map +1 -0
  25. package/dist/_virtual/index3.js +1 -1
  26. package/dist/_virtual/index6.js +1 -1
  27. package/dist/{64efc2716808c4a4.svg → bb8b87cace25e052.svg} +3 -3
  28. package/dist/cceb1e5dc06b0b85.svg +4 -0
  29. package/dist/d140a601c85bac25.svg +3 -0
  30. package/dist/{72db3b05a96dd600.svg → d32ce84bbd78babd.svg} +3 -3
  31. package/dist/{844eba3f2e42a9eb.svg → d501922060662842.svg} +3 -3
  32. package/dist/d6d0a98ec38e6b77.svg +3 -0
  33. package/dist/e04479ad425e7d58.svg +4 -0
  34. package/dist/f4452c3ebcf0d5da.svg +4 -0
  35. package/dist/f4a32992f02af522.svg +5 -0
  36. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +2 -0
  37. package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +1 -0
  38. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +2 -0
  39. package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js.map +1 -0
  40. package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js +2 -0
  41. package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +1 -0
  42. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +2 -0
  43. package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  44. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +2 -0
  45. package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +1 -0
  46. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +2 -0
  47. package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js.map +1 -0
  48. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +2 -0
  49. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js.map +1 -0
  50. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +2 -0
  51. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  52. package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +2 -0
  53. package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js.map +1 -0
  54. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +2 -0
  55. package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +1 -0
  56. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +2 -0
  57. package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +1 -0
  58. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js +2 -0
  59. package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +1 -0
  60. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +2 -0
  61. package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +1 -0
  62. package/dist/node_modules/dom-serializer/lib/foreignNames.js +2 -0
  63. package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -0
  64. package/dist/node_modules/dom-serializer/lib/index.js +2 -0
  65. package/dist/node_modules/dom-serializer/lib/index.js.map +1 -0
  66. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +2 -0
  67. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -0
  68. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +2 -0
  69. package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  70. package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js +2 -0
  71. package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +1 -0
  72. package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js +2 -0
  73. package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +1 -0
  74. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +2 -0
  75. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  76. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +2 -0
  77. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  78. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +2 -0
  79. package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  80. package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js +2 -0
  81. package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +1 -0
  82. package/dist/node_modules/domhandler/lib/index.js +2 -0
  83. package/dist/node_modules/domhandler/lib/index.js.map +1 -0
  84. package/dist/node_modules/domhandler/lib/node.js +2 -0
  85. package/dist/node_modules/domhandler/lib/node.js.map +1 -0
  86. package/dist/node_modules/domutils/lib/feeds.js +2 -0
  87. package/dist/node_modules/domutils/lib/feeds.js.map +1 -0
  88. package/dist/node_modules/domutils/lib/helpers.js +2 -0
  89. package/dist/node_modules/domutils/lib/helpers.js.map +1 -0
  90. package/dist/node_modules/domutils/lib/index.js +2 -0
  91. package/dist/node_modules/domutils/lib/index.js.map +1 -0
  92. package/dist/node_modules/domutils/lib/legacy.js +2 -0
  93. package/dist/node_modules/domutils/lib/legacy.js.map +1 -0
  94. package/dist/node_modules/domutils/lib/manipulation.js +2 -0
  95. package/dist/node_modules/domutils/lib/manipulation.js.map +1 -0
  96. package/dist/node_modules/domutils/lib/querying.js +2 -0
  97. package/dist/node_modules/domutils/lib/querying.js.map +1 -0
  98. package/dist/node_modules/domutils/lib/stringify.js +2 -0
  99. package/dist/node_modules/domutils/lib/stringify.js.map +1 -0
  100. package/dist/node_modules/domutils/lib/traversal.js +2 -0
  101. package/dist/node_modules/domutils/lib/traversal.js.map +1 -0
  102. package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js +2 -0
  103. package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
  104. package/dist/node_modules/entities/dist/commonjs/decode.js +2 -0
  105. package/dist/node_modules/entities/dist/commonjs/decode.js.map +1 -0
  106. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js +2 -0
  107. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
  108. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +2 -0
  109. package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
  110. package/dist/node_modules/fault/index.js +2 -0
  111. package/dist/node_modules/fault/index.js.map +1 -0
  112. package/dist/node_modules/format/format.js +2 -0
  113. package/dist/node_modules/format/format.js.map +1 -0
  114. package/dist/node_modules/highlight.js/lib/core.js +2 -0
  115. package/dist/node_modules/highlight.js/lib/core.js.map +1 -0
  116. package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js +1 -1
  117. package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js.map +1 -1
  118. package/dist/node_modules/html-react-parser/lib/index.js +1 -1
  119. package/dist/node_modules/html-react-parser/lib/index.js.map +1 -1
  120. package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js +1 -1
  121. package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js.map +1 -1
  122. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +1 -1
  123. package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -1
  124. package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
  125. package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +1 -1
  126. package/dist/node_modules/lowlight/lib/core.js +2 -0
  127. package/dist/node_modules/lowlight/lib/core.js.map +1 -0
  128. package/dist/node_modules/nanoid/index.js +2 -0
  129. package/dist/node_modules/nanoid/index.js.map +1 -0
  130. package/dist/node_modules/nanoid/url-alphabet/index.js +2 -0
  131. package/dist/node_modules/nanoid/url-alphabet/index.js.map +1 -0
  132. package/dist/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js +2 -0
  133. package/dist/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js.map +1 -0
  134. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js +2 -0
  135. package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js.map +1 -0
  136. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js +2 -0
  137. package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js.map +1 -0
  138. package/dist/node_modules/react-syntax-highlighter/dist/esm/light.js +2 -0
  139. package/dist/node_modules/react-syntax-highlighter/dist/esm/light.js.map +1 -0
  140. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js +2 -0
  141. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js.map +1 -0
  142. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js +2 -0
  143. package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js.map +1 -0
  144. package/dist/node_modules/style-to-object/cjs/index.js +1 -1
  145. package/dist/node_modules/yup/index.esm.js +1 -1
  146. package/dist/src/assets/icons/AddRow.svg.js +1 -1
  147. package/dist/src/assets/icons/AddRow.svg.js.map +1 -1
  148. package/dist/src/assets/icons/ApiIcon.svg.js +2 -0
  149. package/dist/src/assets/icons/ApiIcon.svg.js.map +1 -0
  150. package/dist/src/assets/icons/ArrowBack.svg.js +2 -0
  151. package/dist/src/assets/icons/ArrowBack.svg.js.map +1 -0
  152. package/dist/src/assets/icons/BookIcon.svg.js +2 -0
  153. package/dist/src/assets/icons/BookIcon.svg.js.map +1 -0
  154. package/dist/src/assets/icons/CopySticker.svg.js +2 -0
  155. package/dist/src/assets/icons/CopySticker.svg.js.map +1 -0
  156. package/dist/src/assets/icons/DeleteIcon.svg.js +1 -1
  157. package/dist/src/assets/icons/DeleteIcon.svg.js.map +1 -1
  158. package/dist/src/assets/icons/DeleteOutlinedIcon.svg.js +2 -0
  159. package/dist/src/assets/icons/DeleteOutlinedIcon.svg.js.map +1 -0
  160. package/dist/src/assets/icons/DownArrow.svg.js +1 -1
  161. package/dist/src/assets/icons/DownArrow.svg.js.map +1 -1
  162. package/dist/src/assets/icons/EditIcon.svg.js +1 -1
  163. package/dist/src/assets/icons/EditIcon.svg.js.map +1 -1
  164. package/dist/src/assets/icons/FilterIcon.svg.js +2 -0
  165. package/dist/src/assets/icons/FilterIcon.svg.js.map +1 -0
  166. package/dist/src/assets/icons/Plus.svg.js +2 -0
  167. package/dist/src/assets/icons/Plus.svg.js.map +1 -0
  168. package/dist/src/assets/icons/PlusSquare.svg.js +2 -0
  169. package/dist/src/assets/icons/PlusSquare.svg.js.map +1 -0
  170. package/dist/src/assets/icons/RequestOption.svg.js +2 -0
  171. package/dist/src/assets/icons/RequestOption.svg.js.map +1 -0
  172. package/dist/src/assets/icons/UpArrow.svg.js +1 -1
  173. package/dist/src/assets/icons/UpArrow.svg.js.map +1 -1
  174. package/dist/src/assets/icons/arrowDownGray.svg.js +2 -0
  175. package/dist/src/assets/icons/arrowDownGray.svg.js.map +1 -0
  176. package/dist/src/assets/icons/arrowRightGray.svg.js +2 -0
  177. package/dist/src/assets/icons/arrowRightGray.svg.js.map +1 -0
  178. package/dist/src/assets/icons/close-circle.svg.js +2 -0
  179. package/dist/src/assets/icons/close-circle.svg.js.map +1 -0
  180. package/dist/src/assets/icons/copy.svg.js +2 -0
  181. package/dist/src/assets/icons/copy.svg.js.map +1 -0
  182. package/dist/src/assets/icons/document.svg.js +2 -0
  183. package/dist/src/assets/icons/document.svg.js.map +1 -0
  184. package/dist/src/assets/icons/eye.svg.js +2 -0
  185. package/dist/src/assets/icons/eye.svg.js.map +1 -0
  186. package/dist/src/assets/icons/infoIcon.svg.js +2 -0
  187. package/dist/src/assets/icons/infoIcon.svg.js.map +1 -0
  188. package/dist/src/assets/icons/searchIcon.svg.js +2 -0
  189. package/dist/src/assets/icons/searchIcon.svg.js.map +1 -0
  190. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  191. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  192. package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
  193. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  194. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  195. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  196. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  197. package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
  198. package/dist/src/components/SectionHead/SectionHead.js.map +1 -1
  199. package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -1
  200. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  201. package/dist/src/components/dialog/index.js +1 -1
  202. package/dist/src/components/dialog/index.js.map +1 -1
  203. package/dist/src/components/table/table.js +1 -1
  204. package/dist/src/components/table/table.js.map +1 -1
  205. package/dist/src/components/table/tags-table.js.map +1 -1
  206. package/dist/src/constants/index.js +1 -1
  207. package/dist/src/constants/index.js.map +1 -1
  208. package/dist/src/constants/methods.constant.js +2 -0
  209. package/dist/src/constants/methods.constant.js.map +1 -0
  210. package/dist/src/constants/regex.js.map +1 -1
  211. package/dist/src/helpers/docs.helper.js +2 -0
  212. package/dist/src/helpers/docs.helper.js.map +1 -0
  213. package/dist/src/helpers/layout.helper.js +1 -1
  214. package/dist/src/helpers/layout.helper.js.map +1 -1
  215. package/dist/src/helpers/methodAccordion.helper.js.map +1 -1
  216. package/dist/src/index.js +1 -1
  217. package/dist/src/layout/docsComponents/Codebox/Codebox.js +2 -0
  218. package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +1 -0
  219. package/dist/src/layout/docsComponents/Codebox/style.module.scss.js +2 -0
  220. package/dist/src/layout/docsComponents/Codebox/style.module.scss.js.map +1 -0
  221. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +2 -0
  222. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -0
  223. package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js +2 -0
  224. package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js.map +1 -0
  225. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +2 -0
  226. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -0
  227. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +2 -0
  228. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -0
  229. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js +2 -0
  230. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js.map +1 -0
  231. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +2 -0
  232. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -0
  233. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js +2 -0
  234. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js.map +1 -0
  235. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +2 -0
  236. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -0
  237. package/dist/src/layout/docsComponents/index.js +2 -0
  238. package/dist/src/layout/docsComponents/index.js.map +1 -0
  239. package/dist/src/layout/docsLayout.js +2 -0
  240. package/dist/src/layout/docsLayout.js.map +1 -0
  241. package/dist/src/layout/layout.js +1 -1
  242. package/dist/src/layout/layout.js.map +1 -1
  243. package/dist/src/layout/layout.module.css.js +1 -1
  244. package/dist/src/utils/index.js +2 -0
  245. package/dist/src/utils/index.js.map +1 -0
  246. package/dist/src/validator/form.scheme.js +1 -1
  247. package/dist/src/validator/form.scheme.js.map +1 -1
  248. package/dist/styles.css +1646 -348
  249. package/dist/types/assets/icons/index.d.ts +17 -1
  250. package/dist/types/components/LivePreview/LivePreview.d.ts +1 -0
  251. package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +2 -1
  252. package/dist/types/components/dialog/dialog.d.ts +4 -0
  253. package/dist/types/components/dialog/index.d.ts +1 -1
  254. package/dist/types/components/table/table.d.ts +2 -1
  255. package/dist/types/constants/methods.constant.d.ts +16 -0
  256. package/dist/types/helpers/docs.helper.d.ts +3 -0
  257. package/dist/types/index.d.ts +1 -0
  258. package/dist/types/layout/docsComponents/Codebox/Codebox.d.ts +4 -0
  259. package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +5 -0
  260. package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +6 -0
  261. package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +4 -0
  262. package/dist/types/layout/docsComponents/DocsContent/TagPage/index.d.ts +4 -0
  263. package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +3 -0
  264. package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +9 -0
  265. package/dist/types/layout/docsComponents/index.d.ts +17 -0
  266. package/dist/types/layout/docsLayout.d.ts +33 -0
  267. package/dist/types/layout/layout.d.ts +2 -1
  268. package/dist/types/types/layout.type.d.ts +1 -0
  269. package/dist/types/types/openApi.d.ts +4 -4
  270. package/dist/types/utils/index.d.ts +1 -0
  271. package/dist/types/validator/form.scheme.d.ts +10 -2
  272. package/package.json +46 -43
  273. package/rollup.config.js +37 -35
  274. package/src/assets/icons/AddRow.svg +3 -3
  275. package/src/assets/icons/ApiIcon.svg +12 -0
  276. package/src/assets/icons/ArrowBack.svg +3 -0
  277. package/src/assets/icons/BookIcon.svg +6 -0
  278. package/src/assets/icons/CheckMarkSquare.svg +5 -5
  279. package/src/assets/icons/CloseIcon.svg +4 -4
  280. package/src/assets/icons/CopySticker.svg +6 -0
  281. package/src/assets/icons/DeleteIcon.svg +3 -3
  282. package/src/assets/icons/DeleteOutlinedIcon.svg +8 -0
  283. package/src/assets/icons/DownArrow.svg +3 -3
  284. package/src/assets/icons/EditIcon.svg +3 -3
  285. package/src/assets/icons/FilterIcon.svg +4 -0
  286. package/src/assets/icons/Plus.svg +5 -0
  287. package/src/assets/icons/PlusSquare.svg +3 -0
  288. package/src/assets/icons/RequestOption.svg +5 -0
  289. package/src/assets/icons/UpArrow.svg +3 -3
  290. package/src/assets/icons/arrowDownGray.svg +3 -0
  291. package/src/assets/icons/arrowRightGray.svg +3 -0
  292. package/src/assets/icons/close-circle.svg +5 -0
  293. package/src/assets/icons/copy.svg +4 -0
  294. package/src/assets/icons/deleteOutlinedIcon.svg +8 -8
  295. package/src/assets/icons/document.svg +6 -0
  296. package/src/assets/icons/eye.svg +4 -0
  297. package/src/assets/icons/index.ts +24 -8
  298. package/src/assets/icons/infoIcon.svg +5 -0
  299. package/src/assets/icons/searchIcon.svg +4 -0
  300. package/src/components/Chips/Chips.tsx +87 -87
  301. package/src/components/Chips/style.scss +147 -147
  302. package/src/components/InfoForm/InfoForm.module.scss +165 -165
  303. package/src/components/InfoForm/InfoForm.tsx +423 -428
  304. package/src/components/JsonInput/JsonInput.tsx +149 -149
  305. package/src/components/JsonInput/style.module.scss +133 -133
  306. package/src/components/LivePreview/LivePreview.module.scss +180 -24
  307. package/src/components/LivePreview/LivePreview.tsx +226 -191
  308. package/src/components/MethodAccordion/MethodAccordion.module.scss +395 -338
  309. package/src/components/MethodAccordion/MethodAccordion.tsx +678 -514
  310. package/src/components/SVGLoader/SVGLoader.tsx +96 -94
  311. package/src/components/SectionHead/SectionHead.scss +29 -29
  312. package/src/components/SectionHead/SectionHead.tsx +22 -22
  313. package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -31
  314. package/src/components/SimpleLabelValue/index.ts +1 -1
  315. package/src/components/SimpleLabelValue/style.scss +30 -30
  316. package/src/components/Tooltip/Tooltip.scss +133 -133
  317. package/src/components/Tooltip/Tooltip.tsx +85 -85
  318. package/src/components/_global.scss +337 -337
  319. package/src/components/dialog/dialog.ts +58 -54
  320. package/src/components/dialog/index.tsx +89 -85
  321. package/src/components/dialog/style.scss +188 -104
  322. package/src/components/table/style.scss +217 -190
  323. package/src/components/table/table.tsx +493 -327
  324. package/src/components/table/tags-table.tsx +348 -348
  325. package/src/constants/index.ts +95 -93
  326. package/src/constants/methods.constant.ts +26 -0
  327. package/src/constants/regex.ts +7 -7
  328. package/src/global.d.ts +13 -13
  329. package/src/helpers/docs.helper.ts +28 -0
  330. package/src/helpers/layout.helper.ts +176 -174
  331. package/src/helpers/methodAccordion.helper.ts +19 -19
  332. package/src/index.ts +2 -1
  333. package/src/layout/docsComponents/Codebox/Codebox.tsx +61 -0
  334. package/src/layout/docsComponents/Codebox/style.module.scss +43 -0
  335. package/src/layout/docsComponents/DocsAside/DocsAside.tsx +94 -0
  336. package/src/layout/docsComponents/DocsAside/style.module.scss +113 -0
  337. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +14 -0
  338. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +184 -0
  339. package/src/layout/docsComponents/DocsContent/EndpointPage/style.scss +230 -0
  340. package/src/layout/docsComponents/DocsContent/TagPage/index.tsx +82 -0
  341. package/src/layout/docsComponents/DocsContent/TagPage/style.scss +283 -0
  342. package/src/layout/docsComponents/DocsContent/style.scss +0 -0
  343. package/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss +271 -0
  344. package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +156 -0
  345. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +188 -0
  346. package/src/layout/docsComponents/DocsSideMenuTree/style.scss +195 -0
  347. package/src/layout/docsComponents/index.scss +49 -0
  348. package/src/layout/docsComponents/index.tsx +28 -0
  349. package/src/layout/docsLayout.tsx +72 -0
  350. package/src/layout/layout.module.css +65 -62
  351. package/src/layout/layout.tsx +162 -150
  352. package/src/types/layout.type.ts +31 -30
  353. package/src/types/openApi.ts +108 -108
  354. package/src/types/transformedOpenApi.ts +52 -52
  355. package/src/utils/index.ts +7 -0
  356. package/src/validator/form.scheme.ts +88 -70
  357. package/tsconfig.json +33 -33
  358. package/dist/_virtual/index20.js +0 -2
  359. package/dist/_virtual/index20.js.map +0 -1
  360. package/dist/_virtual/index21.js +0 -2
  361. package/dist/_virtual/index21.js.map +0 -1
  362. package/dist/_virtual/node2.js +0 -2
  363. package/dist/_virtual/node2.js.map +0 -1
  364. package/dist/_virtual/node3.js +0 -2
  365. package/dist/_virtual/node3.js.map +0 -1
  366. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +0 -2
  367. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js.map +0 -1
  368. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +0 -2
  369. package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js.map +0 -1
  370. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +0 -2
  371. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js.map +0 -1
  372. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +0 -2
  373. package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js.map +0 -1
  374. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js +0 -2
  375. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js.map +0 -1
  376. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js +0 -2
  377. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js.map +0 -1
  378. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js +0 -2
  379. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +0 -1
  380. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +0 -2
  381. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +0 -1
  382. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js +0 -2
  383. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +0 -1
  384. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js +0 -2
  385. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +0 -1
  386. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +0 -2
  387. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
  388. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +0 -2
  389. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
  390. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +0 -2
  391. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +0 -1
  392. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js +0 -2
  393. package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +0 -1
  394. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js +0 -2
  395. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js.map +0 -1
  396. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js +0 -2
  397. package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js.map +0 -1
  398. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js +0 -2
  399. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js.map +0 -1
  400. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +0 -2
  401. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js.map +0 -1
  402. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js +0 -2
  403. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js.map +0 -1
  404. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +0 -2
  405. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js.map +0 -1
  406. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +0 -2
  407. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js.map +0 -1
  408. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +0 -2
  409. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js.map +0 -1
  410. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +0 -2
  411. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js.map +0 -1
  412. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +0 -2
  413. package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js.map +0 -1
  414. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -2
  415. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +0 -1
  416. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +0 -2
  417. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +0 -1
  418. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -2
  419. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +0 -1
  420. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -2
  421. package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +0 -1
  422. package/dist/src/assets/icons/CheckMarkSquare.svg.js +0 -2
  423. package/dist/src/assets/icons/CheckMarkSquare.svg.js.map +0 -1
  424. package/dist/src/assets/icons/CloseIcon.svg.js +0 -2
  425. package/dist/src/assets/icons/CloseIcon.svg.js.map +0 -1
  426. package/dist/src/assets/icons/deleteOutlinedIcon.svg.js +0 -2
  427. package/dist/src/assets/icons/deleteOutlinedIcon.svg.js.map +0 -1
  428. package/dist/src/components/Chips/Chips.js +0 -2
  429. package/dist/src/components/Chips/Chips.js.map +0 -1
  430. package/dist/types/types/index.d.ts +0 -18
@@ -1,93 +1,95 @@
1
- export const methodColorMapping = {
2
- get: {
3
- label: 'Get',
4
- color: '#3A6CD1',
5
- order: 1,
6
- },
7
- post: {
8
- label: 'Post',
9
- color: '#3AAA35',
10
- order: 2,
11
- },
12
- put: {
13
- label: 'Put',
14
- color: '#FAAD14',
15
- order: 3,
16
- },
17
- delete: {
18
- label: 'Delete',
19
- color: '#DA3F3F',
20
- order: 4,
21
- },
22
- patch: {
23
- label: 'Patch',
24
- color: '#58E2C2',
25
- order: 5,
26
- },
27
- options: {
28
- label: 'Options',
29
- color: '#495D97',
30
- order: 6,
31
- },
32
- trace: {
33
- label: 'Trace',
34
- color: '#FFA28F',
35
- order: 7,
36
- },
37
- head: {
38
- label: 'Head',
39
- color: '#9461C9',
40
- order: 8,
41
- },
42
- }
43
-
44
- export const tagsTableHeaders = [
45
- {
46
- id: 'tagName',
47
- label: 'Tag Name',
48
- sortable: false,
49
- classes: 'requiredParam',
50
- },
51
- {
52
- id: 'description',
53
- label: 'Description',
54
- sortable: false,
55
- },
56
- {
57
- id: 'externalDocs',
58
- label: 'External Docs',
59
- sortable: false,
60
- },
61
- ]
62
-
63
- export const paramsTableHeaders = [
64
- {
65
- id: 'paramName',
66
- label: 'Parameter Name',
67
- sortable: false,
68
- required: true,
69
- classes: 'requiredParam',
70
- },
71
- { id: 'paramType', label: 'In', sortable: false, classes: 'requiredParam' },
72
- { id: 'schemaType', label: 'Schema-Type', sortable: false, classes: 'requiredParam' },
73
- { id: 'required', label: 'Required', sortable: false, classes: 'requiredParam' },
74
- { id: 'description', label: 'Description', sortable: false },
75
- ]
76
-
77
- export const httpStatusCodes = [
78
- // 1xx: Informational responses
79
- 100, 101, 102, 103,
80
-
81
- // 2xx: Success
82
- 200, 201, 202, 203, 204, 205, 206, 207, 208, 226,
83
-
84
- // 3xx: Redirection
85
- 300, 301, 302, 303, 304, 305, 306, 307, 308,
86
-
87
- // 4xx: Client errors
88
- 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
89
- 421, 422, 423, 424, 425, 426, 428, 429, 431, 451,
90
-
91
- // 5xx: Server errors
92
- 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511,
93
- ]
1
+ export const methodColorMapping = {
2
+ get: {
3
+ label: 'Get',
4
+ color: '#3A6CD1',
5
+ order: 1,
6
+ },
7
+ post: {
8
+ label: 'Post',
9
+ color: '#3AAA35',
10
+ order: 2,
11
+ },
12
+ put: {
13
+ label: 'Put',
14
+ color: '#FAAD14',
15
+ order: 3,
16
+ },
17
+ delete: {
18
+ label: 'Delete',
19
+ color: '#DA3F3F',
20
+ order: 4,
21
+ },
22
+ patch: {
23
+ label: 'Patch',
24
+ color: '#58E2C2',
25
+ order: 5,
26
+ },
27
+ options: {
28
+ label: 'Options',
29
+ color: '#495D97',
30
+ order: 6,
31
+ },
32
+ trace: {
33
+ label: 'Trace',
34
+ color: '#FFA28F',
35
+ order: 7,
36
+ },
37
+ head: {
38
+ label: 'Head',
39
+ color: '#9461C9',
40
+ order: 8,
41
+ },
42
+ }
43
+
44
+ export const tagsTableHeaders = [
45
+ {
46
+ id: 'tagName',
47
+ label: 'Tag Name',
48
+ sortable: false,
49
+ classes: 'requiredParam',
50
+ },
51
+ {
52
+ id: 'description',
53
+ label: 'Description',
54
+ sortable: false,
55
+ },
56
+ {
57
+ id: 'externalDocs',
58
+ label: 'External Docs',
59
+ sortable: false,
60
+ },
61
+ ]
62
+
63
+ export const paramsTableHeaders = [
64
+ {
65
+ id: 'paramName',
66
+ label: 'Parameter Name',
67
+ sortable: false,
68
+ required: true,
69
+ classes: 'requiredParam',
70
+ },
71
+ { id: 'paramType', label: 'In', sortable: false, classes: 'requiredParam' },
72
+ { id: 'schemaType', label: 'Schema-Type', sortable: false, classes: 'requiredParam' },
73
+ { id: 'arraySchemaType', label: 'Array Schema Type', sortable: false },
74
+ { id: 'enum', label: 'Enum', sortable: false },
75
+ { id: 'required', label: 'Required', sortable: false, classes: 'requiredParam' },
76
+ { id: 'description', label: 'Description', sortable: false },
77
+ ]
78
+
79
+ export const httpStatusCodes = [
80
+ // 1xx: Informational responses
81
+ 100, 101, 102, 103,
82
+
83
+ // 2xx: Success
84
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 226,
85
+
86
+ // 3xx: Redirection
87
+ 300, 301, 302, 303, 304, 305, 306, 307, 308,
88
+
89
+ // 4xx: Client errors
90
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
91
+ 421, 422, 423, 424, 425, 426, 428, 429, 431, 451,
92
+
93
+ // 5xx: Server errors
94
+ 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511,
95
+ ]
@@ -0,0 +1,26 @@
1
+ export type MethodOption = {
2
+ label: string
3
+ value: string
4
+ color: string
5
+ }
6
+
7
+ export const METHOD_OPTIONS: MethodOption[] = [
8
+ { label: 'Post', value: 'POST', color: '#10b981' },
9
+ { label: 'GET', value: 'GET', color: '#3b82f6' },
10
+ { label: 'Delete', value: 'DELETE', color: '#ef4444' },
11
+ { label: 'Put', value: 'PUT', color: '#f59e0b' },
12
+ { label: 'PATCH', value: 'PATCH', color: '#C0F4E8' },
13
+ { label: 'OPTIONS', value: 'OPTIONS', color: '#6b7280' },
14
+ { label: 'HEAD', value: 'HEAD', color: '#8b5cf6' },
15
+ { label: 'TRACE', value: 'TRACE', color: '#ec4899' },
16
+ ]
17
+
18
+ export const METHOD_OPTIONS_CONFIG = [
19
+ {
20
+ list: METHOD_OPTIONS.map((method) => ({
21
+ labelConfig: { color: method.color, text: method.label },
22
+ value: method.value,
23
+ data: method,
24
+ })),
25
+ },
26
+ ]
@@ -1,7 +1,7 @@
1
- const regex = {
2
- basic: /[^a-zA-Z0-9-_ ]/, // not (alphanumeric + underscore + dash + space)
3
- restrictNone: /^$/, // restrict nothing
4
- ASCII: /^[\x00-\x7F]+$/,
5
- urlRegex: /^(https?:\/\/|www\.)[a-zA-Z0-9-]+(\.[a-zA-Z]{2,})+(\/[^\s]*)?$/,
6
- }
7
- export default regex
1
+ const regex = {
2
+ basic: /[^a-zA-Z0-9-_ ]/, // not (alphanumeric + underscore + dash + space)
3
+ restrictNone: /^$/, // restrict nothing
4
+ ASCII: /^[\x00-\x7F]+$/,
5
+ urlRegex: /^(https?:\/\/|www\.)[a-zA-Z0-9-]+(\.[a-zA-Z]{2,})+(\/[^\s]*)?$/,
6
+ }
7
+ export default regex
package/src/global.d.ts CHANGED
@@ -1,13 +1,13 @@
1
- declare module '*.module.css' {
2
- const classes: { [key: string]: string }
3
- export default classes
4
- }
5
- declare module '*.module.scss' {
6
- const classes: { [key: string]: string }
7
- export default classes
8
- }
9
-
10
- declare module '*.svg' {
11
- const src: string
12
- export default src
13
- }
1
+ declare module '*.module.css' {
2
+ const classes: { [key: string]: string }
3
+ export default classes
4
+ }
5
+ declare module '*.module.scss' {
6
+ const classes: { [key: string]: string }
7
+ export default classes
8
+ }
9
+
10
+ declare module '*.svg' {
11
+ const src: string
12
+ export default src
13
+ }
@@ -0,0 +1,28 @@
1
+ import { HTTPMethod, OpenAPIFile } from '@entities/openApi'
2
+ import { nanoid } from 'nanoid'
3
+ import { OverviewData, TagData } from 'src/layout/docsLayout'
4
+
5
+ export const transformOpenApiToDocs = (openApiJson: OpenAPIFile): OverviewData => {
6
+ const groupedPathsByTags: Record<string, TagData[]> = { default: [] }
7
+ const validTags = new Set(openApiJson.tags.map(({ name }) => name))
8
+
9
+ for (const [path, methods] of Object.entries(openApiJson.paths)) {
10
+ for (const [method, methodData] of Object.entries(methods)) {
11
+ const entry = { ...methodData, method: method as HTTPMethod, path }
12
+ const resourceTags = methodData.tags ?? []
13
+
14
+ const matchedTags = resourceTags.filter((tag) => validTags.has(tag))
15
+
16
+ if (matchedTags.length > 0) {
17
+ matchedTags.forEach((tag) => {
18
+ if (!groupedPathsByTags[tag]) groupedPathsByTags[tag] = []
19
+ groupedPathsByTags[tag].push({ ...entry, id: nanoid(8) } as TagData)
20
+ })
21
+ } else {
22
+ groupedPathsByTags.default.push({ ...entry, id: nanoid(8) } as TagData)
23
+ }
24
+ }
25
+ }
26
+
27
+ return { ...openApiJson.info, id: nanoid(8), tags: groupedPathsByTags }
28
+ }
@@ -1,174 +1,176 @@
1
- import { TransformedPathsArray } from '@entities/layout.type'
2
- import { OpenAPIFile, SecurityScheme } from '@entities/openApi'
3
- import { TransformedOpenApi } from '@entities/transformedOpenApi'
4
-
5
- export const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {
6
- if (openApiJson.components && openApiJson.components.securitySchemes) {
7
- const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)
8
- if (authKey) {
9
- openApiJson.components.securitySchemes[authKey].type =
10
- openApiJson?.components?.securitySchemes?.[
11
- authKey
12
- ]?.type?.toUpperCase() as SecurityScheme['type']
13
- }
14
- } else {
15
- openApiJson.components = {
16
- securitySchemes: {
17
- Public: {
18
- type: 'http',
19
- scheme: 'public',
20
- },
21
- },
22
- }
23
- }
24
-
25
- if (!openApiJson.tags) {
26
- openApiJson.tags = []
27
- }
28
-
29
- return {
30
- ...openApiJson,
31
- paths: transformPathsToArray(openApiJson.paths),
32
- } as TransformedOpenApi
33
- }
34
-
35
- export const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {
36
- const object = {
37
- ...values,
38
- paths: transformPathsArrayToOrigin(values.paths),
39
- }
40
- if (object.components && object.components.securitySchemes) {
41
- const authKey = Object.keys(object.components.securitySchemes)?.at(0)
42
- if (authKey) {
43
- if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {
44
- object.components.securitySchemes[authKey].in = object.components.securitySchemes[
45
- authKey
46
- ].in.toUpperCase() as SecurityScheme['in']
47
- }
48
- object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[
49
- authKey
50
- ]?.type?.toUpperCase() as SecurityScheme['type']
51
- }
52
- }
53
- return object
54
- }
55
-
56
- export const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {
57
- const transformedPaths = Object.entries(paths).map(([path, methods]) => ({
58
- path,
59
- methods: Object.entries(methods).map(([method, methodProps]) => {
60
- const obj: any = {
61
- ...methodProps,
62
- type: method,
63
- tags: methodProps.tags || [],
64
- responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {
65
- const contentType = Object.keys(codeProps.content || {})[0]
66
- return {
67
- code,
68
- content: {
69
- contentType,
70
- schema: {
71
- ...codeProps.content?.[contentType]?.schema,
72
- properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),
73
- },
74
- },
75
- }
76
- }),
77
- }
78
- // Add parameters if it does not exist in the original JSON
79
- if (!methodProps?.parameters) {
80
- obj.parameters = []
81
- }
82
-
83
- if (method.toLowerCase() != 'get') {
84
- const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]
85
- const reqSchema = methodProps?.requestBody?.content?.schema
86
- const requestBodyData = methodProps?.requestBody?.content?.schema?.properties
87
- ? {
88
- content: {
89
- contentType,
90
- schema: {
91
- ...reqSchema,
92
- properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',
93
- },
94
- },
95
- }
96
- : {
97
- content: {
98
- contentType: 'application/json',
99
- schema: {
100
- properties: '{}',
101
- type: 'object',
102
- },
103
- },
104
- }
105
-
106
- obj['requestBody'] = requestBodyData
107
- }
108
-
109
- return obj
110
- }),
111
- }))
112
-
113
- return transformedPaths
114
- }
115
-
116
- const validateBodyForResponse = (content, method) => {
117
- let _content = JSON.parse((content?.schema as any)?.properties as string)
118
- // if (method == 'get') {
119
- // if (!_content?.body) {
120
- // _content = {
121
- // body: _content,
122
- // }
123
- // }
124
- // }
125
- return _content
126
- }
127
-
128
- export const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {
129
- return paths.reduce((acc, { path, methods }) => {
130
- acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {
131
- // Initialize the method object
132
- methodAcc[type] = {
133
- ...rest,
134
- tags,
135
- responses: responses.reduce((respAcc, { code, content }) => {
136
- respAcc[code] = {
137
- description: 'Success', // Assuming this is static from the original data
138
- content: content.contentType
139
- ? {
140
- [content.contentType]: {
141
- schema: {
142
- ...(content.schema as object),
143
- properties: validateBodyForResponse(content, type),
144
- },
145
- },
146
- }
147
- : {},
148
- }
149
- return respAcc
150
- }, {} as Record<string, any>),
151
- }
152
-
153
- const parsedRequestBodyProps =
154
- type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}
155
- // Add requestBody for non-GET methods
156
- if (type !== 'get') {
157
- methodAcc[type].requestBody = {
158
- content: {
159
- [requestBody.content.contentType]: {
160
- schema: {
161
- ...requestBody.content.schema,
162
- properties: parsedRequestBodyProps,
163
- },
164
- },
165
- },
166
- }
167
- }
168
-
169
- return methodAcc
170
- }, {} as Record<string, any>)
171
-
172
- return acc
173
- }, {} as OpenAPIFile['paths'])
174
- }
1
+ import { TransformedPathsArray } from '@entities/layout.type'
2
+ import { OpenAPIFile, SecurityScheme } from '@entities/openApi'
3
+ import { TransformedOpenApi } from '@entities/transformedOpenApi'
4
+
5
+ export const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {
6
+ if (openApiJson.components && openApiJson.components.securitySchemes) {
7
+ const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)
8
+ if (authKey) {
9
+ openApiJson.components.securitySchemes[authKey].type = openApiJson?.components
10
+ ?.securitySchemes?.[authKey]?.type as SecurityScheme['type']
11
+ }
12
+ } else {
13
+ openApiJson.components = {
14
+ securitySchemes: {
15
+ Public: {
16
+ type: 'http',
17
+ scheme: 'public',
18
+ },
19
+ },
20
+ }
21
+ }
22
+
23
+ if (!openApiJson.tags) {
24
+ openApiJson.tags = []
25
+ }
26
+
27
+ return {
28
+ ...openApiJson,
29
+ paths: transformPathsToArray(openApiJson.paths),
30
+ } as TransformedOpenApi
31
+ }
32
+
33
+ export const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {
34
+ const object = {
35
+ ...values,
36
+ paths: transformPathsArrayToOrigin(values.paths),
37
+ }
38
+ if (object.components && object.components.securitySchemes) {
39
+ const authKey = Object.keys(object.components.securitySchemes)?.at(0)
40
+ if (authKey) {
41
+ if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {
42
+ object.components.securitySchemes[authKey].in = object.components.securitySchemes[authKey]
43
+ .in as SecurityScheme['in']
44
+ }
45
+ object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[
46
+ authKey
47
+ ]?.type as SecurityScheme['type']
48
+ }
49
+ }
50
+ return object
51
+ }
52
+
53
+ export const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {
54
+ const transformedPaths = Object.entries(paths).map(([path, methods]) => ({
55
+ path,
56
+ methods: Object.entries(methods).map(([method, methodProps]) => {
57
+ const obj: any = {
58
+ ...methodProps,
59
+ type: method,
60
+ tags: methodProps.tags || [],
61
+ summary: methodProps.summary || '',
62
+ responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {
63
+ const contentType = Object.keys(codeProps.content || {})[0]
64
+ return {
65
+ code,
66
+ content: {
67
+ contentType,
68
+ schema: {
69
+ ...codeProps.content?.[contentType]?.schema,
70
+ properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),
71
+ },
72
+ },
73
+ }
74
+ }),
75
+ }
76
+ // Add parameters if it does not exist in the original JSON
77
+ if (!methodProps?.parameters) {
78
+ obj.parameters = []
79
+ }
80
+
81
+ if (method.toLowerCase() != 'get') {
82
+ const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]
83
+ const reqSchema = methodProps?.requestBody?.content?.schema
84
+ const requestBodyData = methodProps?.requestBody?.content?.schema?.properties
85
+ ? {
86
+ content: {
87
+ contentType,
88
+ schema: {
89
+ ...reqSchema,
90
+ properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',
91
+ },
92
+ },
93
+ }
94
+ : {
95
+ content: {
96
+ contentType: 'application/json',
97
+ schema: {
98
+ properties: '{}',
99
+ type: 'object',
100
+ },
101
+ },
102
+ }
103
+
104
+ obj['requestBody'] = requestBodyData
105
+ }
106
+
107
+ return obj
108
+ }),
109
+ }))
110
+
111
+ return transformedPaths
112
+ }
113
+
114
+ const validateBodyForResponse = (content, method) => {
115
+ let _content = JSON.parse((content?.schema as any)?.properties as string)
116
+ // if (method == 'get') {
117
+ // if (!_content?.body) {
118
+ // _content = {
119
+ // body: _content,
120
+ // }
121
+ // }
122
+ // }
123
+ return _content
124
+ }
125
+
126
+ export const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {
127
+ return paths.reduce((acc, { path, methods }) => {
128
+ acc[path] = methods.reduce(
129
+ (methodAcc, { type, tags, responses, summary, requestBody, ...rest }) => {
130
+ // Initialize the method object
131
+ methodAcc[type] = {
132
+ ...rest,
133
+ tags,
134
+ summary,
135
+ responses: responses.reduce((respAcc, { code, content }) => {
136
+ respAcc[code] = {
137
+ description: 'Success', // Assuming this is static from the original data
138
+ content: content.contentType
139
+ ? {
140
+ [content.contentType]: {
141
+ schema: {
142
+ ...(content.schema as object),
143
+ properties: validateBodyForResponse(content, type),
144
+ },
145
+ },
146
+ }
147
+ : {},
148
+ }
149
+ return respAcc
150
+ }, {} as Record<string, any>),
151
+ }
152
+
153
+ const parsedRequestBodyProps =
154
+ type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}
155
+ // Add requestBody for non-GET methods
156
+ if (type !== 'get') {
157
+ methodAcc[type].requestBody = {
158
+ content: {
159
+ [requestBody.content.contentType]: {
160
+ schema: {
161
+ ...requestBody.content.schema,
162
+ properties: parsedRequestBodyProps,
163
+ },
164
+ },
165
+ },
166
+ }
167
+ }
168
+
169
+ return methodAcc
170
+ },
171
+ {} as Record<string, any>
172
+ )
173
+
174
+ return acc
175
+ }, {} as OpenAPIFile['paths'])
176
+ }