@siliconst/metaui 1.4.21 → 1.4.34

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 (338) hide show
  1. package/package.json +1 -1
  2. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js +51 -0
  3. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js.map +1 -0
  4. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts +41 -0
  5. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts.map +1 -0
  6. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js +2 -0
  7. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js.map +1 -0
  8. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.ts +44 -0
  9. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -1
  10. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -1
  11. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +1 -1
  12. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -1
  13. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -1
  14. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -1
  15. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +2 -1
  16. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +2 -2
  17. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -1
  18. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +1 -1
  19. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -1
  20. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +3 -3
  21. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +5 -1
  22. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  23. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +6 -2
  24. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  25. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  26. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  27. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +10 -9
  28. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +0 -9
  29. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -1
  30. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +0 -9
  31. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -1
  32. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +1 -1
  33. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +3 -9
  35. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +0 -11
  36. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -1
  37. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +0 -11
  38. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -1
  39. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +1 -1
  40. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -1
  41. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +2 -9
  42. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +2 -7
  43. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -1
  44. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +0 -5
  45. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -1
  46. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +1 -1
  47. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -1
  48. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +3 -7
  49. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +1 -6
  50. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -1
  51. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +0 -5
  52. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -1
  53. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +1 -1
  54. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -1
  55. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +9 -12
  56. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +51 -12
  57. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
  58. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +13 -0
  59. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
  60. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
  61. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
  62. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +53 -14
  63. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +2 -2
  64. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
  65. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +1 -1
  66. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +3 -3
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +1 -1
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +8 -7
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -1
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +1 -1
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -1
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -1
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +3 -3
  80. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +1 -1
  81. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +1 -1
  82. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +4 -4
  83. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +3 -4
  84. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  85. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +1 -1
  86. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  87. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  88. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  89. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +6 -7
  90. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js +84 -0
  91. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js.map +1 -0
  92. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts +16 -0
  93. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts.map +1 -0
  94. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js +2 -0
  95. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js.map +1 -0
  96. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts +80 -0
  97. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js +137 -0
  98. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js.map +1 -0
  99. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts +24 -0
  100. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts.map +1 -0
  101. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js +2 -0
  102. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js.map +1 -0
  103. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.ts +141 -0
  104. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +26 -0
  105. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  106. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +2 -0
  107. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  108. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  109. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  110. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +29 -1
  111. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +1 -1
  112. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  113. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +4 -4
  114. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  115. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  116. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  117. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +11 -11
  118. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  119. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  120. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +1 -1
  121. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  122. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +4 -1
  123. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  124. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +5 -1
  125. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +5 -5
  126. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  127. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  128. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  129. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  130. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +4 -4
  131. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +7 -5
  132. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  133. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  134. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  135. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  136. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +11 -7
  137. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +40 -37
  138. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  139. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -1
  140. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts +1 -1
  141. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -1
  142. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -1
  143. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +1 -1
  144. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts +1 -1
  146. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts.map +1 -1
  147. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -1
  148. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -1
  150. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +1 -1
  151. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -1
  152. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -1
  153. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts +1 -1
  154. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +2 -2
  155. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -1
  156. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -1
  157. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +2 -2
  158. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts +1 -1
  160. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -1
  162. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +3 -3
  163. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -1
  164. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +1 -1
  165. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -1
  166. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -1
  167. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +1 -1
  168. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -1
  169. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +1 -1
  170. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -1
  171. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -1
  172. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +1 -1
  173. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +1 -1
  174. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -1
  175. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +4 -4
  176. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -1
  177. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +19 -19
  179. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -1
  180. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -1
  181. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -1
  182. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +2 -1
  183. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +18 -15
  184. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
  185. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
  186. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
  187. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
  188. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +18 -18
  189. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +1 -1
  190. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
  191. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
  193. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +2 -2
  194. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
  195. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +1 -6
  196. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
  197. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
  198. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +2 -2
  199. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
  200. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
  201. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +2 -2
  203. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
  204. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
  205. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
  206. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +2 -2
  207. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +4 -4
  208. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
  209. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
  210. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
  211. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +4 -4
  212. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
  214. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
  215. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
  216. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +2 -2
  217. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +1 -1
  218. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
  220. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
  221. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +2 -2
  222. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
  223. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
  224. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +1 -1
  225. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +1 -1
  226. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -1
  227. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +1 -1
  228. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -1
  229. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +1 -1
  230. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +1 -1
  231. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
  232. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
  233. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
  234. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +2 -2
  235. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +2 -2
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +2 -2
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +1 -1
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -1
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +1 -1
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -1
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +1 -1
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +1 -1
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +3 -3
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +3 -3
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +4 -4
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +5 -4
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -1
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -1
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +1 -1
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -1
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +7 -6
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +1 -1
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -1
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +1 -1
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -1
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +1 -1
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +1 -1
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +2 -2
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +3 -2
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -1
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -1
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +1 -1
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -1
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +3 -2
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +2 -2
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +2 -2
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +2 -2
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +2 -2
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +1 -1
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +1 -1
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +1 -1
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +2 -2
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +1 -1
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +1 -1
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +2 -2
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +2 -2
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +1 -1
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +1 -1
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +2 -2
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +2 -2
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -1
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +109 -108
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -1
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -1
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -1
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +64 -63
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +1 -1
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -1
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +1 -1
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -1
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -1
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +118 -117
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -1
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +105 -104
  335. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -1
  336. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -1
  337. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -1
  338. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiParserFactory-dbg.js","names":["OpenApi2Parser","___parsers_OpenApi2Parser","OpenApi3Parser","___parsers_OpenApi3Parser","Logger","___utils_Logger","OpenApiParserFactory","getParser","rawSchema","error","swagger","openapi","startsWith","warn","__exports","__esModule"],"sources":["OpenApiParserFactory.ts"],"sourcesContent":["/**\n * @file OpenApiParserFactory.ts\n * @description Factory class to determine and instantiate the correct Swagger parser version.\n */\n\nimport { IOpenApiParserPlugin } from \"./interfaces/IOpenApiParserPlugin\";\nimport { OpenApi2Parser } from \"./parsers/OpenApi2Parser\";\nimport { OpenApi3Parser } from \"./parsers/OpenApi3Parser\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Factory class responsible for analyzing a raw OpenAPI document's metadata to dynamically \n * instantiate the correct, version-specific parser plugin. This isolates structural version \n * differences from the primary Engine orchestration layer.\n * \n * @public\n */\nexport class OpenApiParserFactory {\n /**\n * Inspects the root level structural signatures of an OpenAPI document (e.g., `swagger: \"2.0\"` \n * vs `openapi: \"3.x\"`) to instantiate the appropriate parsing engine.\n * \n * @param {any} rawSchema The raw, unparsed OpenAPI root JSON structure.\n * @returns {IOpenApiParserPlugin} An initialized instance of the correct concrete parser plugin.\n */\n public static getParser(rawSchema: unknown): IOpenApiParserPlugin {\n if (!rawSchema || typeof rawSchema !== \"object\") {\n Logger.error(\"[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.\");\n return new OpenApi3Parser(); // Fallback\n }\n\n if (rawSchema.swagger === \"2.0\") {\n return new OpenApi2Parser();\n }\n\n if (rawSchema.openapi && typeof rawSchema.openapi === \"string\" && rawSchema.openapi.startsWith(\"3\")) {\n return new OpenApi3Parser();\n }\n\n Logger.warn(\"[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.\");\n return new OpenApi3Parser();\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAMSA,cAAc,GAAAC,yBAAA;EAAA,MACdC,cAAc,GAAAC,yBAAA;EAAA,MACdC,MAAM,GAAAC,eAAA;EAEf;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,oBAAoB,CAAC;IAC9B;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,SAASA,CAACC,SAAkB,EAAwB;MAC9D,IAAI,CAACA,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;QAC7CJ,MAAM,CAACK,KAAK,CAAC,kEAAkE,CAAC;QAChF,OAAO,IAAIP,cAAc,CAAC,CAAC,CAAC,CAAC;MACjC;MAEA,IAAIM,SAAS,CAACE,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,IAAIV,cAAc,CAAC,CAAC;MAC/B;MAEA,IAAIQ,SAAS,CAACG,OAAO,IAAI,OAAOH,SAAS,CAACG,OAAO,KAAK,QAAQ,IAAIH,SAAS,CAACG,OAAO,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;QACjG,OAAO,IAAIV,cAAc,CAAC,CAAC;MAC/B;MAEAE,MAAM,CAACS,IAAI,CAAC,+GAA+G,CAAC;MAC5H,OAAO,IAAIX,cAAc,CAAC,CAAC;IAC/B;EACJ;EAAC,IAAAY,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAR,oBAAA,GAAAA,oBAAA;EAAA,OAAAQ,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiParserFactory-dbg.js","names":["OpenApi2Parser","___parsers_OpenApi2Parser","OpenApi3Parser","___parsers_OpenApi3Parser","Logger","___utils_Logger","OpenApiParserFactory","getParser","rawSchema","error","swagger","openapi","startsWith","warn","__exports","__esModule"],"sources":["OpenApiParserFactory.ts"],"sourcesContent":["/**\n * @file OpenApiParserFactory.ts\n * @description Factory class to determine and instantiate the correct Swagger parser version.\n */\n\nimport { IOpenApiParserPlugin } from \"./interfaces/IOpenApiParserPlugin\";\nimport { OpenApi2Parser } from \"./parsers/OpenApi2Parser\";\nimport { OpenApi3Parser } from \"./parsers/OpenApi3Parser\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Factory class responsible for analyzing a raw OpenAPI document's metadata to dynamically \n * instantiate the correct, version-specific parser plugin. This isolates structural version \n * differences from the primary Engine orchestration layer.\n * \n * @public\n */\nexport class OpenApiParserFactory {\n /**\n * Inspects the root level structural signatures of an OpenAPI document (e.g., `swagger: \"2.0\"` \n * vs `openapi: \"3.x\"`) to instantiate the appropriate parsing engine.\n * \n * @param {any} rawSchema The raw, unparsed OpenAPI root JSON structure.\n * @returns {IOpenApiParserPlugin} An initialized instance of the correct concrete parser plugin.\n */\n public static getParser(rawSchema: any): IOpenApiParserPlugin {\n if (!rawSchema || typeof rawSchema !== \"object\") {\n Logger.error(\"[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.\");\n return new OpenApi3Parser(); // Fallback\n }\n\n if (rawSchema.swagger === \"2.0\") {\n return new OpenApi2Parser();\n }\n\n if (rawSchema.openapi && typeof rawSchema.openapi === \"string\" && rawSchema.openapi.startsWith(\"3\")) {\n return new OpenApi3Parser();\n }\n\n Logger.warn(\"[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.\");\n return new OpenApi3Parser();\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAMSA,cAAc,GAAAC,yBAAA;EAAA,MACdC,cAAc,GAAAC,yBAAA;EAAA,MACdC,MAAM,GAAAC,eAAA;EAEf;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,oBAAoB,CAAC;IAC9B;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,SAASA,CAACC,SAAc,EAAwB;MAC1D,IAAI,CAACA,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;QAC7CJ,MAAM,CAACK,KAAK,CAAC,kEAAkE,CAAC;QAChF,OAAO,IAAIP,cAAc,CAAC,CAAC,CAAC,CAAC;MACjC;MAEA,IAAIM,SAAS,CAACE,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,IAAIV,cAAc,CAAC,CAAC;MAC/B;MAEA,IAAIQ,SAAS,CAACG,OAAO,IAAI,OAAOH,SAAS,CAACG,OAAO,KAAK,QAAQ,IAAIH,SAAS,CAACG,OAAO,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;QACjG,OAAO,IAAIV,cAAc,CAAC,CAAC;MAC/B;MAEAE,MAAM,CAACS,IAAI,CAAC,+GAA+G,CAAC;MAC5H,OAAO,IAAIX,cAAc,CAAC,CAAC;IAC/B;EACJ;EAAC,IAAAY,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAR,oBAAA,GAAAA,oBAAA;EAAA,OAAAQ,SAAA;AAAA","ignoreList":[]}
@@ -19,7 +19,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory" {
19
19
  * @param {any} rawSchema The raw, unparsed OpenAPI root JSON structure.
20
20
  * @returns {IOpenApiParserPlugin} An initialized instance of the correct concrete parser plugin.
21
21
  */
22
- static getParser(rawSchema: unknown): IOpenApiParserPlugin;
22
+ static getParser(rawSchema: any): IOpenApiParserPlugin;
23
23
  }
24
24
  }
25
25
  //# sourceMappingURL=OpenApiParserFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiParserFactory.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yDAAyD,CAAC;IACzE;;;OAGG;IAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;IAK1G;;;;;;OAMG;IACH,MAAa,oBAAoB;QAC7B;;;;;;WAMG;eACW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,oBAAoB;KAiBpE;CAEA"}
1
+ {"version":3,"file":"OpenApiParserFactory.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,yDAAyD,CAAC;IACzE;;;OAGG;IAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;IAK1G;;;;;;OAMG;IACH,MAAa,oBAAoB;QAC7B;;;;;;WAMG;eACW,SAAS,CAAC,SAAS,EAAE,GAAG,GAAG,oBAAoB;KAiBhE;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiParserFactory.js","names":["OpenApi2Parser","___parsers_OpenApi2Parser","OpenApi3Parser","___parsers_OpenApi3Parser","Logger","___utils_Logger","OpenApiParserFactory","getParser","rawSchema","error","swagger","openapi","startsWith","warn","__exports","__esModule"],"sources":["OpenApiParserFactory.ts"],"sourcesContent":["/**\n * @file OpenApiParserFactory.ts\n * @description Factory class to determine and instantiate the correct Swagger parser version.\n */\n\nimport { IOpenApiParserPlugin } from \"./interfaces/IOpenApiParserPlugin\";\nimport { OpenApi2Parser } from \"./parsers/OpenApi2Parser\";\nimport { OpenApi3Parser } from \"./parsers/OpenApi3Parser\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Factory class responsible for analyzing a raw OpenAPI document's metadata to dynamically \n * instantiate the correct, version-specific parser plugin. This isolates structural version \n * differences from the primary Engine orchestration layer.\n * \n * @public\n */\nexport class OpenApiParserFactory {\n /**\n * Inspects the root level structural signatures of an OpenAPI document (e.g., `swagger: \"2.0\"` \n * vs `openapi: \"3.x\"`) to instantiate the appropriate parsing engine.\n * \n * @param {any} rawSchema The raw, unparsed OpenAPI root JSON structure.\n * @returns {IOpenApiParserPlugin} An initialized instance of the correct concrete parser plugin.\n */\n public static getParser(rawSchema: unknown): IOpenApiParserPlugin {\n if (!rawSchema || typeof rawSchema !== \"object\") {\n Logger.error(\"[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.\");\n return new OpenApi3Parser(); // Fallback\n }\n\n if (rawSchema.swagger === \"2.0\") {\n return new OpenApi2Parser();\n }\n\n if (rawSchema.openapi && typeof rawSchema.openapi === \"string\" && rawSchema.openapi.startsWith(\"3\")) {\n return new OpenApi3Parser();\n }\n\n Logger.warn(\"[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.\");\n return new OpenApi3Parser();\n }\n}\n"],"mappings":"qHAAA,MAMSA,EAAcC,EAAA,wBACdC,EAAcC,EAAA,wBACdC,EAAMC,EAAA,UASR,MAAMC,EAQT,gBAAcC,CAAUC,GACpB,IAAKA,UAAoBA,IAAc,SAAU,CAC7CJ,EAAOK,MAAM,oEACb,OAAO,IAAIP,CACf,CAEA,GAAIM,EAAUE,UAAY,MAAO,CAC7B,OAAO,IAAIV,CACf,CAEA,GAAIQ,EAAUG,gBAAkBH,EAAUG,UAAY,UAAYH,EAAUG,QAAQC,WAAW,KAAM,CACjG,OAAO,IAAIV,CACf,CAEAE,EAAOS,KAAK,iHACZ,OAAO,IAAIX,CACf,EACH,IAAAY,EAAA,CAAAC,WAAA,MAAAD,EAAAR,uBAAA,OAAAQ,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiParserFactory.js","names":["OpenApi2Parser","___parsers_OpenApi2Parser","OpenApi3Parser","___parsers_OpenApi3Parser","Logger","___utils_Logger","OpenApiParserFactory","getParser","rawSchema","error","swagger","openapi","startsWith","warn","__exports","__esModule"],"sources":["OpenApiParserFactory.ts"],"sourcesContent":["/**\n * @file OpenApiParserFactory.ts\n * @description Factory class to determine and instantiate the correct Swagger parser version.\n */\n\nimport { IOpenApiParserPlugin } from \"./interfaces/IOpenApiParserPlugin\";\nimport { OpenApi2Parser } from \"./parsers/OpenApi2Parser\";\nimport { OpenApi3Parser } from \"./parsers/OpenApi3Parser\";\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Factory class responsible for analyzing a raw OpenAPI document's metadata to dynamically \n * instantiate the correct, version-specific parser plugin. This isolates structural version \n * differences from the primary Engine orchestration layer.\n * \n * @public\n */\nexport class OpenApiParserFactory {\n /**\n * Inspects the root level structural signatures of an OpenAPI document (e.g., `swagger: \"2.0\"` \n * vs `openapi: \"3.x\"`) to instantiate the appropriate parsing engine.\n * \n * @param {any} rawSchema The raw, unparsed OpenAPI root JSON structure.\n * @returns {IOpenApiParserPlugin} An initialized instance of the correct concrete parser plugin.\n */\n public static getParser(rawSchema: any): IOpenApiParserPlugin {\n if (!rawSchema || typeof rawSchema !== \"object\") {\n Logger.error(\"[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.\");\n return new OpenApi3Parser(); // Fallback\n }\n\n if (rawSchema.swagger === \"2.0\") {\n return new OpenApi2Parser();\n }\n\n if (rawSchema.openapi && typeof rawSchema.openapi === \"string\" && rawSchema.openapi.startsWith(\"3\")) {\n return new OpenApi3Parser();\n }\n\n Logger.warn(\"[MetaUI OpenApiParserFactory] Unable to strictly determine OpenAPI version. Defaulting to OpenAPI 3.0 Parser.\");\n return new OpenApi3Parser();\n }\n}\n"],"mappings":"qHAAA,MAMSA,EAAcC,EAAA,wBACdC,EAAcC,EAAA,wBACdC,EAAMC,EAAA,UASR,MAAMC,EAQT,gBAAcC,CAAUC,GACpB,IAAKA,UAAoBA,IAAc,SAAU,CAC7CJ,EAAOK,MAAM,oEACb,OAAO,IAAIP,CACf,CAEA,GAAIM,EAAUE,UAAY,MAAO,CAC7B,OAAO,IAAIV,CACf,CAEA,GAAIQ,EAAUG,gBAAkBH,EAAUG,UAAY,UAAYH,EAAUG,QAAQC,WAAW,KAAM,CACjG,OAAO,IAAIV,CACf,CAEAE,EAAOS,KAAK,iHACZ,OAAO,IAAIX,CACf,EACH,IAAAY,EAAA,CAAAC,WAAA,MAAAD,EAAAR,uBAAA,OAAAQ,CAAA","ignoreList":[]}
@@ -23,7 +23,7 @@ export class OpenApiParserFactory {
23
23
  * @param {any} rawSchema The raw, unparsed OpenAPI root JSON structure.
24
24
  * @returns {IOpenApiParserPlugin} An initialized instance of the correct concrete parser plugin.
25
25
  */
26
- public static getParser(rawSchema: unknown): IOpenApiParserPlugin {
26
+ public static getParser(rawSchema: any): IOpenApiParserPlugin {
27
27
  if (!rawSchema || typeof rawSchema !== "object") {
28
28
  Logger.error("[MetaUI OpenApiParserFactory] Invalid OpenAPI document provided.");
29
29
  return new OpenApi3Parser(); // Fallback
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiRefResolver-dbg.js","names":["Logger","___utils_Logger","OpenApiRefResolver","resolve","refUrl","openApiRoot","depth","startsWith","debug","error","pathSegments","substring","split","current","segment","$ref","__exports","__esModule"],"sources":["OpenApiRefResolver.ts"],"sourcesContent":["/**\n * @file OpenApiRefResolver.ts\n * @description Utility class for resolving local $ref pointers within an OpenAPI document.\n */\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Utility class for resolving local $ref pointers within an OpenAPI document.\n * \n * @public\n */\nexport class OpenApiRefResolver {\n /**\n * Recursively traverses a local JSON Pointer $ref path (e.g., '#/components/schemas/Pet')\n * and extracts the target object from the Swagger root document.\n * External URLs or invalid references are safely ignored.\n * \n * @param {string} refUrl The $ref string path.\n * @param {any} openApiRoot The root OpenAPI document to query against.\n * @param {number} depth The current recursive depth count, used to prevent infinite loops.\n * @returns {any} The resolved schema object, or null if unresolvable.\n */\n public static resolve(refUrl: string, openApiRoot: unknown, depth: number = 0): unknown {\n if (!refUrl || !refUrl.startsWith(\"#/\")) {\n Logger.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${refUrl}`, \"OpenApiBuilder\");\n return null; // Ignore external URLs per architectural rules\n }\n\n // Circular Reference Limit:\n // A hard limit is enforced to prevent stack overflow exceptions caused by infinitely \n // recursive structures (e.g., a Tree node that references another Tree node).\n if (depth > 10) {\n Logger.error(`[MetaUI OpenApiBuilder] Circular or overly deep $ref detected: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n\n // Path Segment Parsing:\n // The '#/' prefix is stripped, and the remaining path is split by '/'.\n // We incrementally descend into the swagger root using these segments.\n const pathSegments = refUrl.substring(2).split(\"/\");\n let current = openApiRoot;\n\n for (const segment of pathSegments) {\n if (current && typeof current === \"object\" && segment in current) {\n current = current[segment];\n } else {\n Logger.error(`[MetaUI OpenApiBuilder] Failed to resolve local $ref: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n }\n\n // Deep Resolution Recursion:\n // If the resolved target is itself a reference pointer, recursively resolve again\n // until we reach a terminal structure or hit the recursion depth limit.\n if (current && typeof current === \"object\" && current.$ref) {\n return this.resolve(current.$ref, openApiRoot, depth + 1);\n }\n\n return current;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAISA,MAAM,GAAAC,eAAA;EAEf;AACA;AACA;AACA;AACA;EACO,MAAMC,kBAAkB,CAAC;IAC5B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,OAAOA,CAACC,MAAc,EAAEC,WAAoB,EAAEC,KAAa,GAAG,CAAC,EAAW;MACpF,IAAI,CAACF,MAAM,IAAI,CAACA,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC,EAAE;QACrCP,MAAM,CAACQ,KAAK,CAAC,6DAA6DJ,MAAM,EAAE,EAAE,gBAAgB,CAAC;QACrG,OAAO,IAAI,CAAC,CAAC;MACjB;;MAEA;MACA;MACA;MACA,IAAIE,KAAK,GAAG,EAAE,EAAE;QACZN,MAAM,CAACS,KAAK,CAAC,kEAAkEL,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC;QAChH,OAAO,IAAI;MACf;;MAEA;MACA;MACA;MACA,MAAMM,YAAY,GAAGN,MAAM,CAACO,SAAS,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;MACnD,IAAIC,OAAO,GAAGR,WAAW;MAEzB,KAAK,MAAMS,OAAO,IAAIJ,YAAY,EAAE;QAChC,IAAIG,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIC,OAAO,IAAID,OAAO,EAAE;UAC9DA,OAAO,GAAGA,OAAO,CAACC,OAAO,CAAC;QAC9B,CAAC,MAAM;UACHd,MAAM,CAACS,KAAK,CAAC,yDAAyDL,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC;UACvG,OAAO,IAAI;QACf;MACJ;;MAEA;MACA;MACA;MACA,IAAIS,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACE,IAAI,EAAE;QACxD,OAAO,IAAI,CAACZ,OAAO,CAACU,OAAO,CAACE,IAAI,EAAEV,WAAW,EAAEC,KAAK,GAAG,CAAC,CAAC;MAC7D;MAEA,OAAOO,OAAO;IAClB;EACJ;EAAC,IAAAG,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAd,kBAAA,GAAAA,kBAAA;EAAA,OAAAc,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiRefResolver-dbg.js","names":["Logger","___utils_Logger","OpenApiRefResolver","resolve","refUrl","openApiRoot","depth","startsWith","debug","error","pathSegments","substring","split","current","segment","$ref","__exports","__esModule"],"sources":["OpenApiRefResolver.ts"],"sourcesContent":["/**\n * @file OpenApiRefResolver.ts\n * @description Utility class for resolving local $ref pointers within an OpenAPI document.\n */\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Utility class for resolving local $ref pointers within an OpenAPI document.\n * \n * @public\n */\nexport class OpenApiRefResolver {\n /**\n * Recursively traverses a local JSON Pointer $ref path (e.g., '#/components/schemas/Pet')\n * and extracts the target object from the Swagger root document.\n * External URLs or invalid references are safely ignored.\n * \n * @param {string} refUrl The $ref string path.\n * @param {any} openApiRoot The root OpenAPI document to query against.\n * @param {number} depth The current recursive depth count, used to prevent infinite loops.\n * @returns {any} The resolved schema object, or null if unresolvable.\n */\n public static resolve(refUrl: string, openApiRoot: any, depth: number = 0): any {\n if (!refUrl || !refUrl.startsWith(\"#/\")) {\n Logger.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${refUrl}`, \"OpenApiBuilder\");\n return null; // Ignore external URLs per architectural rules\n }\n\n // Circular Reference Limit:\n // A hard limit is enforced to prevent stack overflow exceptions caused by infinitely \n // recursive structures (e.g., a Tree node that references another Tree node).\n if (depth > 10) {\n Logger.error(`[MetaUI OpenApiBuilder] Circular or overly deep $ref detected: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n\n // Path Segment Parsing:\n // The '#/' prefix is stripped, and the remaining path is split by '/'.\n // We incrementally descend into the swagger root using these segments.\n const pathSegments = refUrl.substring(2).split(\"/\");\n let current = openApiRoot;\n\n for (const segment of pathSegments) {\n if (current && typeof current === \"object\" && segment in current) {\n current = current[segment];\n } else {\n Logger.error(`[MetaUI OpenApiBuilder] Failed to resolve local $ref: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n }\n\n // Deep Resolution Recursion:\n // If the resolved target is itself a reference pointer, recursively resolve again\n // until we reach a terminal structure or hit the recursion depth limit.\n if (current && typeof current === \"object\" && current.$ref) {\n return this.resolve(current.$ref, openApiRoot, depth + 1);\n }\n\n return current;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAISA,MAAM,GAAAC,eAAA;EAEf;AACA;AACA;AACA;AACA;EACO,MAAMC,kBAAkB,CAAC;IAC5B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,OAAOA,CAACC,MAAc,EAAEC,WAAgB,EAAEC,KAAa,GAAG,CAAC,EAAO;MAC5E,IAAI,CAACF,MAAM,IAAI,CAACA,MAAM,CAACG,UAAU,CAAC,IAAI,CAAC,EAAE;QACrCP,MAAM,CAACQ,KAAK,CAAC,6DAA6DJ,MAAM,EAAE,EAAE,gBAAgB,CAAC;QACrG,OAAO,IAAI,CAAC,CAAC;MACjB;;MAEA;MACA;MACA;MACA,IAAIE,KAAK,GAAG,EAAE,EAAE;QACZN,MAAM,CAACS,KAAK,CAAC,kEAAkEL,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC;QAChH,OAAO,IAAI;MACf;;MAEA;MACA;MACA;MACA,MAAMM,YAAY,GAAGN,MAAM,CAACO,SAAS,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC;MACnD,IAAIC,OAAO,GAAGR,WAAW;MAEzB,KAAK,MAAMS,OAAO,IAAIJ,YAAY,EAAE;QAChC,IAAIG,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIC,OAAO,IAAID,OAAO,EAAE;UAC9DA,OAAO,GAAGA,OAAO,CAACC,OAAO,CAAC;QAC9B,CAAC,MAAM;UACHd,MAAM,CAACS,KAAK,CAAC,yDAAyDL,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC;UACvG,OAAO,IAAI;QACf;MACJ;;MAEA;MACA;MACA;MACA,IAAIS,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,CAACE,IAAI,EAAE;QACxD,OAAO,IAAI,CAACZ,OAAO,CAACU,OAAO,CAACE,IAAI,EAAEV,WAAW,EAAEC,KAAK,GAAG,CAAC,CAAC;MAC7D;MAEA,OAAOO,OAAO;IAClB;EACJ;EAAC,IAAAG,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAd,kBAAA,GAAAA,kBAAA;EAAA,OAAAc,SAAA;AAAA","ignoreList":[]}
@@ -15,7 +15,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver" {
15
15
  * @param {number} depth The current recursive depth count, used to prevent infinite loops.
16
16
  * @returns {any} The resolved schema object, or null if unresolvable.
17
17
  */
18
- static resolve(refUrl: string, openApiRoot: unknown, depth?: number): unknown;
18
+ static resolve(refUrl: string, openApiRoot: any, depth?: number): any;
19
19
  }
20
20
  }
21
21
  //# sourceMappingURL=OpenApiRefResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiRefResolver.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,uDAAuD,CAAC;IAOvE;;;;OAIG;IACH,MAAa,kBAAkB;QAC3B;;;;;;;;;WASG;eACW,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO;KAsC1F;CAEA"}
1
+ {"version":3,"file":"OpenApiRefResolver.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,uDAAuD,CAAC;IAOvE;;;;OAIG;IACH,MAAa,kBAAkB;QAC3B;;;;;;;;;WASG;eACW,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,GAAG;KAsClF;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiRefResolver.js","names":["Logger","___utils_Logger","OpenApiRefResolver","resolve","refUrl","openApiRoot","depth","startsWith","debug","error","pathSegments","substring","split","current","segment","$ref","this","__exports","__esModule"],"sources":["OpenApiRefResolver.ts"],"sourcesContent":["/**\n * @file OpenApiRefResolver.ts\n * @description Utility class for resolving local $ref pointers within an OpenAPI document.\n */\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Utility class for resolving local $ref pointers within an OpenAPI document.\n * \n * @public\n */\nexport class OpenApiRefResolver {\n /**\n * Recursively traverses a local JSON Pointer $ref path (e.g., '#/components/schemas/Pet')\n * and extracts the target object from the Swagger root document.\n * External URLs or invalid references are safely ignored.\n * \n * @param {string} refUrl The $ref string path.\n * @param {any} openApiRoot The root OpenAPI document to query against.\n * @param {number} depth The current recursive depth count, used to prevent infinite loops.\n * @returns {any} The resolved schema object, or null if unresolvable.\n */\n public static resolve(refUrl: string, openApiRoot: unknown, depth: number = 0): unknown {\n if (!refUrl || !refUrl.startsWith(\"#/\")) {\n Logger.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${refUrl}`, \"OpenApiBuilder\");\n return null; // Ignore external URLs per architectural rules\n }\n\n // Circular Reference Limit:\n // A hard limit is enforced to prevent stack overflow exceptions caused by infinitely \n // recursive structures (e.g., a Tree node that references another Tree node).\n if (depth > 10) {\n Logger.error(`[MetaUI OpenApiBuilder] Circular or overly deep $ref detected: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n\n // Path Segment Parsing:\n // The '#/' prefix is stripped, and the remaining path is split by '/'.\n // We incrementally descend into the swagger root using these segments.\n const pathSegments = refUrl.substring(2).split(\"/\");\n let current = openApiRoot;\n\n for (const segment of pathSegments) {\n if (current && typeof current === \"object\" && segment in current) {\n current = current[segment];\n } else {\n Logger.error(`[MetaUI OpenApiBuilder] Failed to resolve local $ref: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n }\n\n // Deep Resolution Recursion:\n // If the resolved target is itself a reference pointer, recursively resolve again\n // until we reach a terminal structure or hit the recursion depth limit.\n if (current && typeof current === \"object\" && current.$ref) {\n return this.resolve(current.$ref, openApiRoot, depth + 1);\n }\n\n return current;\n }\n}\n"],"mappings":"2DAAA,MAISA,EAAMC,EAAA,UAOR,MAAMC,EAWT,cAAcC,CAAQC,EAAgBC,EAAsBC,EAAgB,GACxE,IAAKF,IAAWA,EAAOG,WAAW,MAAO,CACrCP,EAAOQ,MAAM,6DAA6DJ,IAAU,kBACpF,OAAO,IACX,CAKA,GAAIE,EAAQ,GAAI,CACZN,EAAOS,MAAM,kEAAkEL,IAAU,KAAM,kBAC/F,OAAO,IACX,CAKA,MAAMM,EAAeN,EAAOO,UAAU,GAAGC,MAAM,KAC/C,IAAIC,EAAUR,EAEd,IAAK,MAAMS,KAAWJ,EAAc,CAChC,GAAIG,UAAkBA,IAAY,UAAYC,KAAWD,EAAS,CAC9DA,EAAUA,EAAQC,EACtB,KAAO,CACHd,EAAOS,MAAM,yDAAyDL,IAAU,KAAM,kBACtF,OAAO,IACX,CACJ,CAKA,GAAIS,UAAkBA,IAAY,UAAYA,EAAQE,KAAM,CACxD,OAAOC,KAAKb,QAAQU,EAAQE,KAAMV,EAAaC,EAAQ,EAC3D,CAEA,OAAOO,CACX,EACH,IAAAI,EAAA,CAAAC,WAAA,MAAAD,EAAAf,qBAAA,OAAAe,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiRefResolver.js","names":["Logger","___utils_Logger","OpenApiRefResolver","resolve","refUrl","openApiRoot","depth","startsWith","debug","error","pathSegments","substring","split","current","segment","$ref","this","__exports","__esModule"],"sources":["OpenApiRefResolver.ts"],"sourcesContent":["/**\n * @file OpenApiRefResolver.ts\n * @description Utility class for resolving local $ref pointers within an OpenAPI document.\n */\nimport { Logger } from \"../utils/Logger\";\n\n/**\n * Utility class for resolving local $ref pointers within an OpenAPI document.\n * \n * @public\n */\nexport class OpenApiRefResolver {\n /**\n * Recursively traverses a local JSON Pointer $ref path (e.g., '#/components/schemas/Pet')\n * and extracts the target object from the Swagger root document.\n * External URLs or invalid references are safely ignored.\n * \n * @param {string} refUrl The $ref string path.\n * @param {any} openApiRoot The root OpenAPI document to query against.\n * @param {number} depth The current recursive depth count, used to prevent infinite loops.\n * @returns {any} The resolved schema object, or null if unresolvable.\n */\n public static resolve(refUrl: string, openApiRoot: any, depth: number = 0): any {\n if (!refUrl || !refUrl.startsWith(\"#/\")) {\n Logger.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${refUrl}`, \"OpenApiBuilder\");\n return null; // Ignore external URLs per architectural rules\n }\n\n // Circular Reference Limit:\n // A hard limit is enforced to prevent stack overflow exceptions caused by infinitely \n // recursive structures (e.g., a Tree node that references another Tree node).\n if (depth > 10) {\n Logger.error(`[MetaUI OpenApiBuilder] Circular or overly deep $ref detected: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n\n // Path Segment Parsing:\n // The '#/' prefix is stripped, and the remaining path is split by '/'.\n // We incrementally descend into the swagger root using these segments.\n const pathSegments = refUrl.substring(2).split(\"/\");\n let current = openApiRoot;\n\n for (const segment of pathSegments) {\n if (current && typeof current === \"object\" && segment in current) {\n current = current[segment];\n } else {\n Logger.error(`[MetaUI OpenApiBuilder] Failed to resolve local $ref: ${refUrl}`, null, \"OpenApiBuilder\");\n return null;\n }\n }\n\n // Deep Resolution Recursion:\n // If the resolved target is itself a reference pointer, recursively resolve again\n // until we reach a terminal structure or hit the recursion depth limit.\n if (current && typeof current === \"object\" && current.$ref) {\n return this.resolve(current.$ref, openApiRoot, depth + 1);\n }\n\n return current;\n }\n}\n"],"mappings":"2DAAA,MAISA,EAAMC,EAAA,UAOR,MAAMC,EAWT,cAAcC,CAAQC,EAAgBC,EAAkBC,EAAgB,GACpE,IAAKF,IAAWA,EAAOG,WAAW,MAAO,CACrCP,EAAOQ,MAAM,6DAA6DJ,IAAU,kBACpF,OAAO,IACX,CAKA,GAAIE,EAAQ,GAAI,CACZN,EAAOS,MAAM,kEAAkEL,IAAU,KAAM,kBAC/F,OAAO,IACX,CAKA,MAAMM,EAAeN,EAAOO,UAAU,GAAGC,MAAM,KAC/C,IAAIC,EAAUR,EAEd,IAAK,MAAMS,KAAWJ,EAAc,CAChC,GAAIG,UAAkBA,IAAY,UAAYC,KAAWD,EAAS,CAC9DA,EAAUA,EAAQC,EACtB,KAAO,CACHd,EAAOS,MAAM,yDAAyDL,IAAU,KAAM,kBACtF,OAAO,IACX,CACJ,CAKA,GAAIS,UAAkBA,IAAY,UAAYA,EAAQE,KAAM,CACxD,OAAOC,KAAKb,QAAQU,EAAQE,KAAMV,EAAaC,EAAQ,EAC3D,CAEA,OAAOO,CACX,EACH,IAAAI,EAAA,CAAAC,WAAA,MAAAD,EAAAf,qBAAA,OAAAe,CAAA","ignoreList":[]}
@@ -20,7 +20,7 @@ export class OpenApiRefResolver {
20
20
  * @param {number} depth The current recursive depth count, used to prevent infinite loops.
21
21
  * @returns {any} The resolved schema object, or null if unresolvable.
22
22
  */
23
- public static resolve(refUrl: string, openApiRoot: unknown, depth: number = 0): unknown {
23
+ public static resolve(refUrl: string, openApiRoot: any, depth: number = 0): any {
24
24
  if (!refUrl || !refUrl.startsWith("#/")) {
25
25
  Logger.debug(`[MetaUI OpenApiBuilder] Ignoring non-local or empty $ref: ${refUrl}`, "OpenApiBuilder");
26
26
  return null; // Ignore external URLs per architectural rules
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiUIMapper-dbg.js","names":["OpenApiUIMapper","build","swaggerProp","keyName","ui","title","label","generateLabel","readOnly","format","widget","validators","push","name","spaced","replace","split","filter","w","length","map","word","charAt","toUpperCase","slice","toLowerCase","join","trim","__exports","__esModule"],"sources":["OpenApiUIMapper.ts"],"sourcesContent":["/**\n * @file OpenApiUIMapper.ts\n * @description Utility class for mapping OpenAPI properties and formats into MetaUI IUIDirectives.\n */\nimport { IUIDirective } from \"../interfaces/ISchema\";\n\n/**\n * Utility class responsible for evaluating OpenAPI metadata and generating the corresponding \n * MetaUI UI rendering directives. This isolates all visual layout assumptions from the parsing engine.\n * \n * @public\n */\nexport class OpenApiUIMapper {\n /**\n * Evaluates an OpenAPI property definition and constructs a MetaUI IUIDirective block.\n * Extracts labels from title/description, maps readOnly state, and assigns \n * specific UI5 Fiori widgets based on the OpenAPI 'format' property.\n * \n * @param {any} swaggerProp The raw OpenAPI property schema chunk.\n * @param {string} keyName The technical JSON key of the property.\n * @returns {IUIDirective} The constructed MetaUI UI orchestration directive.\n */\n public static build(swaggerProp: unknown, keyName: string): IUIDirective {\n const ui: IUIDirective = {};\n\n // Label Synthesis\n if (swaggerProp.title) {\n ui.label = swaggerProp.title;\n } else {\n ui.label = this.generateLabel(keyName);\n }\n\n // State Mapping\n if (swaggerProp.readOnly === true) {\n ui.readOnly = true;\n }\n\n // Format to Widget Translation\n if (swaggerProp.format) {\n switch (swaggerProp.format) {\n case \"date-time\":\n ui.widget = \"datetime\";\n break;\n case \"date\":\n ui.widget = \"date\";\n break;\n case \"password\":\n ui.widget = \"password\";\n ui.format = \"password\"; // Kept for schema validation\n break;\n case \"email\":\n ui.widget = \"email\";\n ui.format = \"email\"; // Kept for schema validation\n break;\n case \"uri\":\n ui.widget = \"link\";\n ui.format = \"url\"; // Kept for schema validation\n break;\n case \"binary\":\n case \"byte\":\n ui.widget = \"fileUploader\";\n break;\n case \"uuid\":\n case \"ipv4\":\n case \"ipv6\":\n case \"hostname\":\n if (!ui.validators) ui.validators = [];\n ui.validators.push(swaggerProp.format);\n break;\n }\n }\n\n return ui;\n }\n\n /**\n * Synthesizes a human-readable Title Case label from camelCase or snake_case technical keys.\n * \n * @param {string} name The raw technical property key (e.g., 'creationTimestamp').\n * @returns {string} The formatted human-readable label (e.g., 'Creation Timestamp').\n * @private\n */\n private static generateLabel(name: string): string {\n if (!name) return \"\";\n let spaced = name.replace(/([A-Z])/g, \" $1\").replace(/_/g, \" \");\n return spaced.split(' ')\n .filter(w => w.length > 0)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ')\n .trim();\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;;EAGA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMA,eAAe,CAAC;IACzB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,KAAKA,CAACC,WAAoB,EAAEC,OAAe,EAAgB;MACrE,MAAMC,EAAgB,GAAG,CAAC,CAAC;;MAE3B;MACA,IAAIF,WAAW,CAACG,KAAK,EAAE;QACnBD,EAAE,CAACE,KAAK,GAAGJ,WAAW,CAACG,KAAK;MAChC,CAAC,MAAM;QACHD,EAAE,CAACE,KAAK,GAAG,IAAI,CAACC,aAAa,CAACJ,OAAO,CAAC;MAC1C;;MAEA;MACA,IAAID,WAAW,CAACM,QAAQ,KAAK,IAAI,EAAE;QAC/BJ,EAAE,CAACI,QAAQ,GAAG,IAAI;MACtB;;MAEA;MACA,IAAIN,WAAW,CAACO,MAAM,EAAE;QACpB,QAAQP,WAAW,CAACO,MAAM;UACtB,KAAK,WAAW;YACZL,EAAE,CAACM,MAAM,GAAG,UAAU;YACtB;UACJ,KAAK,MAAM;YACPN,EAAE,CAACM,MAAM,GAAG,MAAM;YAClB;UACJ,KAAK,UAAU;YACXN,EAAE,CAACM,MAAM,GAAG,UAAU;YACtBN,EAAE,CAACK,MAAM,GAAG,UAAU,CAAC,CAAC;YACxB;UACJ,KAAK,OAAO;YACRL,EAAE,CAACM,MAAM,GAAG,OAAO;YACnBN,EAAE,CAACK,MAAM,GAAG,OAAO,CAAC,CAAC;YACrB;UACJ,KAAK,KAAK;YACNL,EAAE,CAACM,MAAM,GAAG,MAAM;YAClBN,EAAE,CAACK,MAAM,GAAG,KAAK,CAAC,CAAC;YACnB;UACJ,KAAK,QAAQ;UACb,KAAK,MAAM;YACPL,EAAE,CAACM,MAAM,GAAG,cAAc;YAC1B;UACJ,KAAK,MAAM;UACX,KAAK,MAAM;UACX,KAAK,MAAM;UACX,KAAK,UAAU;YACX,IAAI,CAACN,EAAE,CAACO,UAAU,EAAEP,EAAE,CAACO,UAAU,GAAG,EAAE;YACtCP,EAAE,CAACO,UAAU,CAACC,IAAI,CAACV,WAAW,CAACO,MAAM,CAAC;YACtC;QACR;MACJ;MAEA,OAAOL,EAAE;IACb;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,OAAeG,aAAaA,CAACM,IAAY,EAAU;MAC/C,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE;MACpB,IAAIC,MAAM,GAAGD,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MAC/D,OAAOD,MAAM,CAACE,KAAK,CAAC,GAAG,CAAC,CACnBC,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,MAAM,GAAG,CAAC,CAAC,CACzBC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CACvEC,IAAI,CAAC,GAAG,CAAC,CACTC,IAAI,CAAC,CAAC;IACf;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA5B,eAAA,GAAAA,eAAA;EAAA,OAAA4B,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiUIMapper-dbg.js","names":["OpenApiUIMapper","build","swaggerProp","keyName","ui","title","label","generateLabel","readOnly","format","widget","validators","push","name","spaced","replace","split","filter","w","length","map","word","charAt","toUpperCase","slice","toLowerCase","join","trim","__exports","__esModule"],"sources":["OpenApiUIMapper.ts"],"sourcesContent":["/**\n * @file OpenApiUIMapper.ts\n * @description Utility class for mapping OpenAPI properties and formats into MetaUI IUIDirectives.\n */\nimport { IUIDirective } from \"../interfaces/ISchema\";\n\n/**\n * Utility class responsible for evaluating OpenAPI metadata and generating the corresponding \n * MetaUI UI rendering directives. This isolates all visual layout assumptions from the parsing engine.\n * \n * @public\n */\nexport class OpenApiUIMapper {\n /**\n * Evaluates an OpenAPI property definition and constructs a MetaUI IUIDirective block.\n * Extracts labels from title/description, maps readOnly state, and assigns \n * specific UI5 Fiori widgets based on the OpenAPI 'format' property.\n * \n * @param {any} swaggerProp The raw OpenAPI property schema chunk.\n * @param {string} keyName The technical JSON key of the property.\n * @returns {IUIDirective} The constructed MetaUI UI orchestration directive.\n */\n public static build(swaggerProp: any, keyName: string): IUIDirective {\n const ui: IUIDirective = {};\n\n // Label Synthesis\n if (swaggerProp.title) {\n ui.label = swaggerProp.title;\n } else {\n ui.label = this.generateLabel(keyName);\n }\n\n // State Mapping\n if (swaggerProp.readOnly === true) {\n ui.readOnly = true;\n }\n\n // Format to Widget Translation\n if (swaggerProp.format) {\n switch (swaggerProp.format) {\n case \"date-time\":\n ui.widget = \"datetime\";\n break;\n case \"date\":\n ui.widget = \"date\";\n break;\n case \"password\":\n ui.widget = \"password\";\n ui.format = \"password\"; // Kept for schema validation\n break;\n case \"email\":\n ui.widget = \"email\";\n ui.format = \"email\"; // Kept for schema validation\n break;\n case \"uri\":\n ui.widget = \"link\";\n ui.format = \"url\"; // Kept for schema validation\n break;\n case \"binary\":\n case \"byte\":\n ui.widget = \"fileUploader\";\n break;\n case \"uuid\":\n case \"ipv4\":\n case \"ipv6\":\n case \"hostname\":\n if (!ui.validators) ui.validators = [];\n ui.validators.push(swaggerProp.format);\n break;\n }\n }\n\n return ui;\n }\n\n /**\n * Synthesizes a human-readable Title Case label from camelCase or snake_case technical keys.\n * \n * @param {string} name The raw technical property key (e.g., 'creationTimestamp').\n * @returns {string} The formatted human-readable label (e.g., 'Creation Timestamp').\n * @private\n */\n private static generateLabel(name: string): string {\n if (!name) return \"\";\n let spaced = name.replace(/([A-Z])/g, \" $1\").replace(/_/g, \" \");\n return spaced.split(' ')\n .filter(w => w.length > 0)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ')\n .trim();\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;;EAGA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMA,eAAe,CAAC;IACzB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,KAAKA,CAACC,WAAgB,EAAEC,OAAe,EAAgB;MACjE,MAAMC,EAAgB,GAAG,CAAC,CAAC;;MAE3B;MACA,IAAIF,WAAW,CAACG,KAAK,EAAE;QACnBD,EAAE,CAACE,KAAK,GAAGJ,WAAW,CAACG,KAAK;MAChC,CAAC,MAAM;QACHD,EAAE,CAACE,KAAK,GAAG,IAAI,CAACC,aAAa,CAACJ,OAAO,CAAC;MAC1C;;MAEA;MACA,IAAID,WAAW,CAACM,QAAQ,KAAK,IAAI,EAAE;QAC/BJ,EAAE,CAACI,QAAQ,GAAG,IAAI;MACtB;;MAEA;MACA,IAAIN,WAAW,CAACO,MAAM,EAAE;QACpB,QAAQP,WAAW,CAACO,MAAM;UACtB,KAAK,WAAW;YACZL,EAAE,CAACM,MAAM,GAAG,UAAU;YACtB;UACJ,KAAK,MAAM;YACPN,EAAE,CAACM,MAAM,GAAG,MAAM;YAClB;UACJ,KAAK,UAAU;YACXN,EAAE,CAACM,MAAM,GAAG,UAAU;YACtBN,EAAE,CAACK,MAAM,GAAG,UAAU,CAAC,CAAC;YACxB;UACJ,KAAK,OAAO;YACRL,EAAE,CAACM,MAAM,GAAG,OAAO;YACnBN,EAAE,CAACK,MAAM,GAAG,OAAO,CAAC,CAAC;YACrB;UACJ,KAAK,KAAK;YACNL,EAAE,CAACM,MAAM,GAAG,MAAM;YAClBN,EAAE,CAACK,MAAM,GAAG,KAAK,CAAC,CAAC;YACnB;UACJ,KAAK,QAAQ;UACb,KAAK,MAAM;YACPL,EAAE,CAACM,MAAM,GAAG,cAAc;YAC1B;UACJ,KAAK,MAAM;UACX,KAAK,MAAM;UACX,KAAK,MAAM;UACX,KAAK,UAAU;YACX,IAAI,CAACN,EAAE,CAACO,UAAU,EAAEP,EAAE,CAACO,UAAU,GAAG,EAAE;YACtCP,EAAE,CAACO,UAAU,CAACC,IAAI,CAACV,WAAW,CAACO,MAAM,CAAC;YACtC;QACR;MACJ;MAEA,OAAOL,EAAE;IACb;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,OAAeG,aAAaA,CAACM,IAAY,EAAU;MAC/C,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE;MACpB,IAAIC,MAAM,GAAGD,IAAI,CAACE,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAACA,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;MAC/D,OAAOD,MAAM,CAACE,KAAK,CAAC,GAAG,CAAC,CACnBC,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,MAAM,GAAG,CAAC,CAAC,CACzBC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,IAAI,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CACvEC,IAAI,CAAC,GAAG,CAAC,CACTC,IAAI,CAAC,CAAC;IACf;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA5B,eAAA,GAAAA,eAAA;EAAA,OAAA4B,SAAA;AAAA","ignoreList":[]}
@@ -20,7 +20,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper" {
20
20
  * @param {string} keyName The technical JSON key of the property.
21
21
  * @returns {IUIDirective} The constructed MetaUI UI orchestration directive.
22
22
  */
23
- static build(swaggerProp: unknown, keyName: string): IUIDirective;
23
+ static build(swaggerProp: any, keyName: string): IUIDirective;
24
24
  /**
25
25
  * Synthesizes a human-readable Title Case label from camelCase or snake_case technical keys.
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiUIMapper.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oDAAoD,CAAC;IACpE;;;OAGG;IACH,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;IAE7E;;;;;OAKG;IACH,MAAa,eAAe;QACxB;;;;;;;;WAQG;eACW,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY;QAqDxE;;;;;;WAMG;QACH,OAAO,CAAC,MAAM,CAAC,aAAa;KAS/B;CAEA"}
1
+ {"version":3,"file":"OpenApiUIMapper.d.ts","sourceRoot":"../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oDAAoD,CAAC;IACpE;;;OAGG;IACH,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;IAE7E;;;;;OAKG;IACH,MAAa,eAAe;QACxB;;;;;;;;WAQG;eACW,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY;QAqDpE;;;;;;WAMG;QACH,OAAO,CAAC,MAAM,CAAC,aAAa;KAS/B;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiUIMapper.js","names":["OpenApiUIMapper","build","swaggerProp","keyName","ui","title","label","this","generateLabel","readOnly","format","widget","validators","push","name","spaced","replace","split","filter","w","length","map","word","charAt","toUpperCase","slice","toLowerCase","join","trim","__exports","__esModule"],"sources":["OpenApiUIMapper.ts"],"sourcesContent":["/**\n * @file OpenApiUIMapper.ts\n * @description Utility class for mapping OpenAPI properties and formats into MetaUI IUIDirectives.\n */\nimport { IUIDirective } from \"../interfaces/ISchema\";\n\n/**\n * Utility class responsible for evaluating OpenAPI metadata and generating the corresponding \n * MetaUI UI rendering directives. This isolates all visual layout assumptions from the parsing engine.\n * \n * @public\n */\nexport class OpenApiUIMapper {\n /**\n * Evaluates an OpenAPI property definition and constructs a MetaUI IUIDirective block.\n * Extracts labels from title/description, maps readOnly state, and assigns \n * specific UI5 Fiori widgets based on the OpenAPI 'format' property.\n * \n * @param {any} swaggerProp The raw OpenAPI property schema chunk.\n * @param {string} keyName The technical JSON key of the property.\n * @returns {IUIDirective} The constructed MetaUI UI orchestration directive.\n */\n public static build(swaggerProp: unknown, keyName: string): IUIDirective {\n const ui: IUIDirective = {};\n\n // Label Synthesis\n if (swaggerProp.title) {\n ui.label = swaggerProp.title;\n } else {\n ui.label = this.generateLabel(keyName);\n }\n\n // State Mapping\n if (swaggerProp.readOnly === true) {\n ui.readOnly = true;\n }\n\n // Format to Widget Translation\n if (swaggerProp.format) {\n switch (swaggerProp.format) {\n case \"date-time\":\n ui.widget = \"datetime\";\n break;\n case \"date\":\n ui.widget = \"date\";\n break;\n case \"password\":\n ui.widget = \"password\";\n ui.format = \"password\"; // Kept for schema validation\n break;\n case \"email\":\n ui.widget = \"email\";\n ui.format = \"email\"; // Kept for schema validation\n break;\n case \"uri\":\n ui.widget = \"link\";\n ui.format = \"url\"; // Kept for schema validation\n break;\n case \"binary\":\n case \"byte\":\n ui.widget = \"fileUploader\";\n break;\n case \"uuid\":\n case \"ipv4\":\n case \"ipv6\":\n case \"hostname\":\n if (!ui.validators) ui.validators = [];\n ui.validators.push(swaggerProp.format);\n break;\n }\n }\n\n return ui;\n }\n\n /**\n * Synthesizes a human-readable Title Case label from camelCase or snake_case technical keys.\n * \n * @param {string} name The raw technical property key (e.g., 'creationTimestamp').\n * @returns {string} The formatted human-readable label (e.g., 'Creation Timestamp').\n * @private\n */\n private static generateLabel(name: string): string {\n if (!name) return \"\";\n let spaced = name.replace(/([A-Z])/g, \" $1\").replace(/_/g, \" \");\n return spaced.split(' ')\n .filter(w => w.length > 0)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ')\n .trim();\n }\n}\n"],"mappings":"yCAYO,MAAMA,EAUT,YAAcC,CAAMC,EAAsBC,GACtC,MAAMC,EAAmB,CAAC,EAG1B,GAAIF,EAAYG,MAAO,CACnBD,EAAGE,MAAQJ,EAAYG,KAC3B,KAAO,CACHD,EAAGE,MAAQC,KAAKC,cAAcL,EAClC,CAGA,GAAID,EAAYO,WAAa,KAAM,CAC/BL,EAAGK,SAAW,IAClB,CAGA,GAAIP,EAAYQ,OAAQ,CACpB,OAAQR,EAAYQ,QAChB,IAAK,YACDN,EAAGO,OAAS,WACZ,MACJ,IAAK,OACDP,EAAGO,OAAS,OACZ,MACJ,IAAK,WACDP,EAAGO,OAAS,WACZP,EAAGM,OAAS,WACZ,MACJ,IAAK,QACDN,EAAGO,OAAS,QACZP,EAAGM,OAAS,QACZ,MACJ,IAAK,MACDN,EAAGO,OAAS,OACZP,EAAGM,OAAS,MACZ,MACJ,IAAK,SACL,IAAK,OACDN,EAAGO,OAAS,eACZ,MACJ,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,WACD,IAAKP,EAAGQ,WAAYR,EAAGQ,WAAa,GACpCR,EAAGQ,WAAWC,KAAKX,EAAYQ,QAC/B,MAEZ,CAEA,OAAON,CACX,CASA,oBAAeI,CAAcM,GACzB,IAAKA,EAAM,MAAO,GAClB,IAAIC,EAASD,EAAKE,QAAQ,WAAY,OAAOA,QAAQ,KAAM,KAC3D,OAAOD,EAAOE,MAAM,KACfC,OAAOC,GAAKA,EAAEC,OAAS,GACvBC,IAAIC,GAAQA,EAAKC,OAAO,GAAGC,cAAgBF,EAAKG,MAAM,GAAGC,eACzDC,KAAK,KACLC,MACT,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAA7B,kBAAA,OAAA6B,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiUIMapper.js","names":["OpenApiUIMapper","build","swaggerProp","keyName","ui","title","label","this","generateLabel","readOnly","format","widget","validators","push","name","spaced","replace","split","filter","w","length","map","word","charAt","toUpperCase","slice","toLowerCase","join","trim","__exports","__esModule"],"sources":["OpenApiUIMapper.ts"],"sourcesContent":["/**\n * @file OpenApiUIMapper.ts\n * @description Utility class for mapping OpenAPI properties and formats into MetaUI IUIDirectives.\n */\nimport { IUIDirective } from \"../interfaces/ISchema\";\n\n/**\n * Utility class responsible for evaluating OpenAPI metadata and generating the corresponding \n * MetaUI UI rendering directives. This isolates all visual layout assumptions from the parsing engine.\n * \n * @public\n */\nexport class OpenApiUIMapper {\n /**\n * Evaluates an OpenAPI property definition and constructs a MetaUI IUIDirective block.\n * Extracts labels from title/description, maps readOnly state, and assigns \n * specific UI5 Fiori widgets based on the OpenAPI 'format' property.\n * \n * @param {any} swaggerProp The raw OpenAPI property schema chunk.\n * @param {string} keyName The technical JSON key of the property.\n * @returns {IUIDirective} The constructed MetaUI UI orchestration directive.\n */\n public static build(swaggerProp: any, keyName: string): IUIDirective {\n const ui: IUIDirective = {};\n\n // Label Synthesis\n if (swaggerProp.title) {\n ui.label = swaggerProp.title;\n } else {\n ui.label = this.generateLabel(keyName);\n }\n\n // State Mapping\n if (swaggerProp.readOnly === true) {\n ui.readOnly = true;\n }\n\n // Format to Widget Translation\n if (swaggerProp.format) {\n switch (swaggerProp.format) {\n case \"date-time\":\n ui.widget = \"datetime\";\n break;\n case \"date\":\n ui.widget = \"date\";\n break;\n case \"password\":\n ui.widget = \"password\";\n ui.format = \"password\"; // Kept for schema validation\n break;\n case \"email\":\n ui.widget = \"email\";\n ui.format = \"email\"; // Kept for schema validation\n break;\n case \"uri\":\n ui.widget = \"link\";\n ui.format = \"url\"; // Kept for schema validation\n break;\n case \"binary\":\n case \"byte\":\n ui.widget = \"fileUploader\";\n break;\n case \"uuid\":\n case \"ipv4\":\n case \"ipv6\":\n case \"hostname\":\n if (!ui.validators) ui.validators = [];\n ui.validators.push(swaggerProp.format);\n break;\n }\n }\n\n return ui;\n }\n\n /**\n * Synthesizes a human-readable Title Case label from camelCase or snake_case technical keys.\n * \n * @param {string} name The raw technical property key (e.g., 'creationTimestamp').\n * @returns {string} The formatted human-readable label (e.g., 'Creation Timestamp').\n * @private\n */\n private static generateLabel(name: string): string {\n if (!name) return \"\";\n let spaced = name.replace(/([A-Z])/g, \" $1\").replace(/_/g, \" \");\n return spaced.split(' ')\n .filter(w => w.length > 0)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ')\n .trim();\n }\n}\n"],"mappings":"yCAYO,MAAMA,EAUT,YAAcC,CAAMC,EAAkBC,GAClC,MAAMC,EAAmB,CAAC,EAG1B,GAAIF,EAAYG,MAAO,CACnBD,EAAGE,MAAQJ,EAAYG,KAC3B,KAAO,CACHD,EAAGE,MAAQC,KAAKC,cAAcL,EAClC,CAGA,GAAID,EAAYO,WAAa,KAAM,CAC/BL,EAAGK,SAAW,IAClB,CAGA,GAAIP,EAAYQ,OAAQ,CACpB,OAAQR,EAAYQ,QAChB,IAAK,YACDN,EAAGO,OAAS,WACZ,MACJ,IAAK,OACDP,EAAGO,OAAS,OACZ,MACJ,IAAK,WACDP,EAAGO,OAAS,WACZP,EAAGM,OAAS,WACZ,MACJ,IAAK,QACDN,EAAGO,OAAS,QACZP,EAAGM,OAAS,QACZ,MACJ,IAAK,MACDN,EAAGO,OAAS,OACZP,EAAGM,OAAS,MACZ,MACJ,IAAK,SACL,IAAK,OACDN,EAAGO,OAAS,eACZ,MACJ,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,WACD,IAAKP,EAAGQ,WAAYR,EAAGQ,WAAa,GACpCR,EAAGQ,WAAWC,KAAKX,EAAYQ,QAC/B,MAEZ,CAEA,OAAON,CACX,CASA,oBAAeI,CAAcM,GACzB,IAAKA,EAAM,MAAO,GAClB,IAAIC,EAASD,EAAKE,QAAQ,WAAY,OAAOA,QAAQ,KAAM,KAC3D,OAAOD,EAAOE,MAAM,KACfC,OAAOC,GAAKA,EAAEC,OAAS,GACvBC,IAAIC,GAAQA,EAAKC,OAAO,GAAGC,cAAgBF,EAAKG,MAAM,GAAGC,eACzDC,KAAK,KACLC,MACT,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAA7B,kBAAA,OAAA6B,CAAA","ignoreList":[]}
@@ -20,7 +20,7 @@ export class OpenApiUIMapper {
20
20
  * @param {string} keyName The technical JSON key of the property.
21
21
  * @returns {IUIDirective} The constructed MetaUI UI orchestration directive.
22
22
  */
23
- public static build(swaggerProp: unknown, keyName: string): IUIDirective {
23
+ public static build(swaggerProp: any, keyName: string): IUIDirective {
24
24
  const ui: IUIDirective = {};
25
25
 
26
26
  // Label Synthesis
@@ -35,8 +35,8 @@ sap.ui.define(["./plugins/ProtobufVariantHeuristic"], function (___plugins_Proto
35
35
  for (const plugin of this.plugins) {
36
36
  try {
37
37
  plugin.apply(openApiRoot);
38
- } catch (error) {
39
- throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${error.message}`);
38
+ } catch (e) {
39
+ throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${e.message}`);
40
40
  }
41
41
  }
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiHeuristicEngine-dbg.js","names":["ProtobufVariantHeuristic","___plugins_ProtobufVariantHeuristic","OpenApiHeuristicEngine","plugins","constructor","push","run","openApiRoot","plugin","apply","error","Error","message","__exports","__esModule"],"sources":["OpenApiHeuristicEngine.ts"],"sourcesContent":["/**\n * @file OpenApiHeuristicEngine.ts\n * @description Orchestrator that registers and executes all IHeuristicPlugin implementations against the raw schema.\n */\n\nimport { IHeuristicPlugin } from \"./interfaces/IHeuristicPlugin\";\nimport { ProtobufVariantHeuristic } from \"./plugins/ProtobufVariantHeuristic\";\n\n/**\n * Orchestration engine that initializes and executes heuristic plugins sequentially.\n * This pipeline mutates the raw OpenAPI document in-place to normalize non-standard constructs\n * (like Protobuf unions) before the primary parsing phase occurs.\n * \n * @public\n */\nexport class OpenApiHeuristicEngine {\n private plugins: IHeuristicPlugin[] = [];\n\n /**\n * Initializes a new instance of the HeuristicEngine and registers default heuristics.\n */\n constructor() {\n // Register default heuristics\n this.plugins.push(new ProtobufVariantHeuristic());\n }\n\n /**\n * Runs all registered heuristic plugins sequentially against the raw OpenAPI document.\n * Captures and bubbles plugin-specific execution failures to prevent silent pipeline corruption.\n * \n * @param {any} openApiRoot The entire OpenAPI root document, to be mutated in-place.\n * @throws {Error} If any heuristic plugin crashes during execution.\n */\n public run(openApiRoot: unknown): void {\n for (const plugin of this.plugins) {\n try {\n plugin.apply(openApiRoot);\n } catch (error: Error) {\n throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${error.message}`);\n }\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAMSA,wBAAwB,GAAAC,mCAAA;EAEjC;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,sBAAsB,CAAC;IACxBC,OAAO,GAAuB,EAAE;;IAExC;AACJ;AACA;IACIC,WAAWA,CAAA,EAAG;MACV;MACA,IAAI,CAACD,OAAO,CAACE,IAAI,CAAC,IAAIL,wBAAwB,CAAC,CAAC,CAAC;IACrD;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACWM,GAAGA,CAACC,WAAoB,EAAQ;MACnC,KAAK,MAAMC,MAAM,IAAI,IAAI,CAACL,OAAO,EAAE;QAC/B,IAAI;UACAK,MAAM,CAACC,KAAK,CAACF,WAAW,CAAC;QAC7B,CAAC,CAAC,OAAOG,KAAY,EAAE;UACnB,MAAM,IAAIC,KAAK,CAAC,qDAAqDD,KAAK,CAACE,OAAO,EAAE,CAAC;QACzF;MACJ;IACJ;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,sBAAA,GAAAA,sBAAA;EAAA,OAAAW,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiHeuristicEngine-dbg.js","names":["ProtobufVariantHeuristic","___plugins_ProtobufVariantHeuristic","OpenApiHeuristicEngine","plugins","constructor","push","run","openApiRoot","plugin","apply","e","Error","message","__exports","__esModule"],"sources":["OpenApiHeuristicEngine.ts"],"sourcesContent":["/**\n * @file OpenApiHeuristicEngine.ts\n * @description Orchestrator that registers and executes all IHeuristicPlugin implementations against the raw schema.\n */\n\nimport { IHeuristicPlugin } from \"./interfaces/IHeuristicPlugin\";\nimport { ProtobufVariantHeuristic } from \"./plugins/ProtobufVariantHeuristic\";\n\n/**\n * Orchestration engine that initializes and executes heuristic plugins sequentially.\n * This pipeline mutates the raw OpenAPI document in-place to normalize non-standard constructs\n * (like Protobuf unions) before the primary parsing phase occurs.\n * \n * @public\n */\nexport class OpenApiHeuristicEngine {\n private plugins: IHeuristicPlugin[] = [];\n\n /**\n * Initializes a new instance of the HeuristicEngine and registers default heuristics.\n */\n constructor() {\n // Register default heuristics\n this.plugins.push(new ProtobufVariantHeuristic());\n }\n\n /**\n * Runs all registered heuristic plugins sequentially against the raw OpenAPI document.\n * Captures and bubbles plugin-specific execution failures to prevent silent pipeline corruption.\n * \n * @param {any} openApiRoot The entire OpenAPI root document, to be mutated in-place.\n * @throws {Error} If any heuristic plugin crashes during execution.\n */\n public run(openApiRoot: unknown): void {\n for (const plugin of this.plugins) {\n try {\n plugin.apply(openApiRoot);\n } catch (e: any) {\n throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${e.message}`);\n }\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAMSA,wBAAwB,GAAAC,mCAAA;EAEjC;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,sBAAsB,CAAC;IACxBC,OAAO,GAAuB,EAAE;;IAExC;AACJ;AACA;IACIC,WAAWA,CAAA,EAAG;MACV;MACA,IAAI,CAACD,OAAO,CAACE,IAAI,CAAC,IAAIL,wBAAwB,CAAC,CAAC,CAAC;IACrD;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACWM,GAAGA,CAACC,WAAoB,EAAQ;MACnC,KAAK,MAAMC,MAAM,IAAI,IAAI,CAACL,OAAO,EAAE;QAC/B,IAAI;UACAK,MAAM,CAACC,KAAK,CAACF,WAAW,CAAC;QAC7B,CAAC,CAAC,OAAOG,CAAM,EAAE;UACb,MAAM,IAAIC,KAAK,CAAC,qDAAqDD,CAAC,CAACE,OAAO,EAAE,CAAC;QACrF;MACJ;IACJ;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAAX,sBAAA,GAAAA,sBAAA;EAAA,OAAAW,SAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiHeuristicEngine.js","names":["ProtobufVariantHeuristic","___plugins_ProtobufVariantHeuristic","OpenApiHeuristicEngine","plugins","constructor","this","push","run","openApiRoot","plugin","apply","error","Error","message","__exports","__esModule"],"sources":["OpenApiHeuristicEngine.ts"],"sourcesContent":["/**\n * @file OpenApiHeuristicEngine.ts\n * @description Orchestrator that registers and executes all IHeuristicPlugin implementations against the raw schema.\n */\n\nimport { IHeuristicPlugin } from \"./interfaces/IHeuristicPlugin\";\nimport { ProtobufVariantHeuristic } from \"./plugins/ProtobufVariantHeuristic\";\n\n/**\n * Orchestration engine that initializes and executes heuristic plugins sequentially.\n * This pipeline mutates the raw OpenAPI document in-place to normalize non-standard constructs\n * (like Protobuf unions) before the primary parsing phase occurs.\n * \n * @public\n */\nexport class OpenApiHeuristicEngine {\n private plugins: IHeuristicPlugin[] = [];\n\n /**\n * Initializes a new instance of the HeuristicEngine and registers default heuristics.\n */\n constructor() {\n // Register default heuristics\n this.plugins.push(new ProtobufVariantHeuristic());\n }\n\n /**\n * Runs all registered heuristic plugins sequentially against the raw OpenAPI document.\n * Captures and bubbles plugin-specific execution failures to prevent silent pipeline corruption.\n * \n * @param {any} openApiRoot The entire OpenAPI root document, to be mutated in-place.\n * @throws {Error} If any heuristic plugin crashes during execution.\n */\n public run(openApiRoot: unknown): void {\n for (const plugin of this.plugins) {\n try {\n plugin.apply(openApiRoot);\n } catch (error: Error) {\n throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${error.message}`);\n }\n }\n }\n}\n"],"mappings":"8EAAA,MAMSA,EAAwBC,EAAA,4BAS1B,MAAMC,EACDC,QAA8B,GAKtCC,cAEIC,KAAKF,QAAQG,KAAK,IAAIN,EAC1B,CASOO,IAAIC,GACP,IAAK,MAAMC,KAAUJ,KAAKF,QAAS,CAC/B,IACIM,EAAOC,MAAMF,EACjB,CAAE,MAAOG,GACL,MAAM,IAAIC,MAAM,qDAAqDD,EAAME,UAC/E,CACJ,CACJ,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAAZ,yBAAA,OAAAY,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiHeuristicEngine.js","names":["ProtobufVariantHeuristic","___plugins_ProtobufVariantHeuristic","OpenApiHeuristicEngine","plugins","constructor","this","push","run","openApiRoot","plugin","apply","e","Error","message","__exports","__esModule"],"sources":["OpenApiHeuristicEngine.ts"],"sourcesContent":["/**\n * @file OpenApiHeuristicEngine.ts\n * @description Orchestrator that registers and executes all IHeuristicPlugin implementations against the raw schema.\n */\n\nimport { IHeuristicPlugin } from \"./interfaces/IHeuristicPlugin\";\nimport { ProtobufVariantHeuristic } from \"./plugins/ProtobufVariantHeuristic\";\n\n/**\n * Orchestration engine that initializes and executes heuristic plugins sequentially.\n * This pipeline mutates the raw OpenAPI document in-place to normalize non-standard constructs\n * (like Protobuf unions) before the primary parsing phase occurs.\n * \n * @public\n */\nexport class OpenApiHeuristicEngine {\n private plugins: IHeuristicPlugin[] = [];\n\n /**\n * Initializes a new instance of the HeuristicEngine and registers default heuristics.\n */\n constructor() {\n // Register default heuristics\n this.plugins.push(new ProtobufVariantHeuristic());\n }\n\n /**\n * Runs all registered heuristic plugins sequentially against the raw OpenAPI document.\n * Captures and bubbles plugin-specific execution failures to prevent silent pipeline corruption.\n * \n * @param {any} openApiRoot The entire OpenAPI root document, to be mutated in-place.\n * @throws {Error} If any heuristic plugin crashes during execution.\n */\n public run(openApiRoot: unknown): void {\n for (const plugin of this.plugins) {\n try {\n plugin.apply(openApiRoot);\n } catch (e: any) {\n throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${e.message}`);\n }\n }\n }\n}\n"],"mappings":"8EAAA,MAMSA,EAAwBC,EAAA,4BAS1B,MAAMC,EACDC,QAA8B,GAKtCC,cAEIC,KAAKF,QAAQG,KAAK,IAAIN,EAC1B,CASOO,IAAIC,GACP,IAAK,MAAMC,KAAUJ,KAAKF,QAAS,CAC/B,IACIM,EAAOC,MAAMF,EACjB,CAAE,MAAOG,GACL,MAAM,IAAIC,MAAM,qDAAqDD,EAAEE,UAC3E,CACJ,CACJ,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAAZ,yBAAA,OAAAY,CAAA","ignoreList":[]}
@@ -35,8 +35,8 @@ export class OpenApiHeuristicEngine {
35
35
  for (const plugin of this.plugins) {
36
36
  try {
37
37
  plugin.apply(openApiRoot);
38
- } catch (error: Error) {
39
- throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${error.message}`);
38
+ } catch (e: any) {
39
+ throw new Error(`[MetaUI HeuristicEngine] Plugin execution failed: ${e.message}`);
40
40
  }
41
41
  }
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufVariantHeuristic-dbg.js","names":["ProtobufVariantHeuristic","apply","openApiRoot","swagger","definitions","_scanDefinitions","key","definition","Object","entries","_isProtobufVariant","_mutateToOneOf","type","properties","required","length","propKeys","keys","allEndWithValue","every","k","endsWith","oneOfArray","propKey","variantSchema","syntheticVariant","title","description","push","oneOf","__exports","__esModule"],"sources":["ProtobufVariantHeuristic.ts"],"sourcesContent":["/**\n * @file ProtobufVariantHeuristic.ts\n * @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.\n */\n\nimport { IHeuristicPlugin } from \"../interfaces/IHeuristicPlugin\";\n\n/**\n * Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)\n * and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.\n * \n * @public\n */\nexport class ProtobufVariantHeuristic implements IHeuristicPlugin {\n /**\n * Executes the heuristic logic against the OpenAPI AST.\n * Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.\n * \n * @param {any} openApiRoot The entire OpenAPI root document.\n */\n public apply(openApiRoot: unknown): void {\n if (!openApiRoot) return;\n\n // In OpenAPI 2.0, scan definitions\n if (openApiRoot.swagger === \"2.0\" && openApiRoot.definitions) {\n this._scanDefinitions(openApiRoot.definitions);\n }\n }\n\n /**\n * Iterates over all root-level definitions to detect and mutate variant structures.\n * \n * @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.\n * @private\n */\n private _scanDefinitions(definitions: Record<string, any>): void {\n for (const [key, definition] of Object.entries(definitions)) {\n // Heuristic 1: If the object name ends with \"Value\" and has multiple optional properties \n // that end with \"_value\" (common Protobuf JSON representation for variants)\n if (this._isProtobufVariant(key, definition)) {\n this._mutateToOneOf(definition);\n }\n }\n }\n\n /**\n * Evaluates a schema block against the heuristic signature of a Protobuf Variant.\n * \n * @param {string} key The schema definition name.\n * @param {any} definition The structural definition block.\n * @returns {boolean} True if the structure matches a Protobuf variant pattern.\n * @private\n */\n private _isProtobufVariant(key: string, definition: unknown): boolean {\n if (definition.type !== \"object\" || !definition.properties) {\n return false;\n }\n\n // Must not have required fields if it's a pure union\n if (definition.required && definition.required.length > 0) {\n return false;\n }\n\n const propKeys = Object.keys(definition.properties);\n if (propKeys.length < 2) {\n return false;\n }\n\n // Check if all properties end with \"_value\" (e.g. bool_value, list_value)\n const allEndWithValue = propKeys.every(k => k.endsWith(\"_value\"));\n if (allEndWithValue && (key.endsWith(\"Value\") || key.endsWith(\"Variant\"))) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties\n * and strictly purging the original object layout to force polymorphic evaluation.\n * \n * @param {any} definition The target variant object schema.\n * @private\n */\n private _mutateToOneOf(definition: unknown): void {\n const propKeys = Object.keys(definition.properties);\n const oneOfArray: unknown[] = [];\n\n for (const propKey of propKeys) {\n const variantSchema = definition.properties[propKey];\n \n // Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property\n const syntheticVariant = {\n type: \"object\",\n properties: {\n [propKey]: variantSchema\n },\n required: [propKey],\n title: variantSchema.description || propKey\n };\n \n oneOfArray.push(syntheticVariant);\n }\n\n // Mutate the original definition to become a oneOf root\n definition.oneOf = oneOfArray;\n \n // CRITICAL DESTRUCTIVE MUTATION:\n // We delete the original properties block. If this is not done, the core engine's layout\n // orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.\n delete definition.properties;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;;EAIA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMA,wBAAwB,CAA6B;IAC9D;AACJ;AACA;AACA;AACA;AACA;IACWC,KAAKA,CAACC,WAAoB,EAAQ;MACrC,IAAI,CAACA,WAAW,EAAE;;MAElB;MACA,IAAIA,WAAW,CAACC,OAAO,KAAK,KAAK,IAAID,WAAW,CAACE,WAAW,EAAE;QAC1D,IAAI,CAACC,gBAAgB,CAACH,WAAW,CAACE,WAAW,CAAC;MAClD;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACYC,gBAAgBA,CAACD,WAAgC,EAAQ;MAC7D,KAAK,MAAM,CAACE,GAAG,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,WAAW,CAAC,EAAE;QACzD;QACA;QACA,IAAI,IAAI,CAACM,kBAAkB,CAACJ,GAAG,EAAEC,UAAU,CAAC,EAAE;UAC1C,IAAI,CAACI,cAAc,CAACJ,UAAU,CAAC;QACnC;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACYG,kBAAkBA,CAACJ,GAAW,EAAEC,UAAmB,EAAW;MAClE,IAAIA,UAAU,CAACK,IAAI,KAAK,QAAQ,IAAI,CAACL,UAAU,CAACM,UAAU,EAAE;QACxD,OAAO,KAAK;MAChB;;MAEA;MACA,IAAIN,UAAU,CAACO,QAAQ,IAAIP,UAAU,CAACO,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;QACvD,OAAO,KAAK;MAChB;MAEA,MAAMC,QAAQ,GAAGR,MAAM,CAACS,IAAI,CAACV,UAAU,CAACM,UAAU,CAAC;MACnD,IAAIG,QAAQ,CAACD,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,KAAK;MAChB;;MAEA;MACA,MAAMG,eAAe,GAAGF,QAAQ,CAACG,KAAK,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,QAAQ,CAAC,CAAC;MACjE,IAAIH,eAAe,KAAKZ,GAAG,CAACe,QAAQ,CAAC,OAAO,CAAC,IAAIf,GAAG,CAACe,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;QACvE,OAAO,IAAI;MACf;MAEA,OAAO,KAAK;IAChB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACYV,cAAcA,CAACJ,UAAmB,EAAQ;MAC9C,MAAMS,QAAQ,GAAGR,MAAM,CAACS,IAAI,CAACV,UAAU,CAACM,UAAU,CAAC;MACnD,MAAMS,UAAqB,GAAG,EAAE;MAEhC,KAAK,MAAMC,OAAO,IAAIP,QAAQ,EAAE;QAC5B,MAAMQ,aAAa,GAAGjB,UAAU,CAACM,UAAU,CAACU,OAAO,CAAC;;QAEpD;QACA,MAAME,gBAAgB,GAAG;UACrBb,IAAI,EAAE,QAAQ;UACdC,UAAU,EAAE;YACR,CAACU,OAAO,GAAGC;UACf,CAAC;UACDV,QAAQ,EAAE,CAACS,OAAO,CAAC;UACnBG,KAAK,EAAEF,aAAa,CAACG,WAAW,IAAIJ;QACxC,CAAC;QAEDD,UAAU,CAACM,IAAI,CAACH,gBAAgB,CAAC;MACrC;;MAEA;MACAlB,UAAU,CAACsB,KAAK,GAAGP,UAAU;;MAE7B;MACA;MACA;MACA,OAAOf,UAAU,CAACM,UAAU;IAChC;EACJ;EAAC,IAAAiB,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA9B,wBAAA,GAAAA,wBAAA;EAAA,OAAA8B,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"ProtobufVariantHeuristic-dbg.js","names":["ProtobufVariantHeuristic","apply","openApiRoot","swagger","definitions","_scanDefinitions","key","definition","Object","entries","_isProtobufVariant","_mutateToOneOf","type","properties","required","length","propKeys","keys","allEndWithValue","every","k","endsWith","oneOfArray","propKey","variantSchema","syntheticVariant","title","description","push","oneOf","__exports","__esModule"],"sources":["ProtobufVariantHeuristic.ts"],"sourcesContent":["/**\n * @file ProtobufVariantHeuristic.ts\n * @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.\n */\n\nimport { IHeuristicPlugin } from \"../interfaces/IHeuristicPlugin\";\n\n/**\n * Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)\n * and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.\n * \n * @public\n */\nexport class ProtobufVariantHeuristic implements IHeuristicPlugin {\n /**\n * Executes the heuristic logic against the OpenAPI AST.\n * Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.\n * \n * @param {any} openApiRoot The entire OpenAPI root document.\n */\n public apply(openApiRoot: any): void {\n if (!openApiRoot) return;\n\n // In OpenAPI 2.0, scan definitions\n if (openApiRoot.swagger === \"2.0\" && openApiRoot.definitions) {\n this._scanDefinitions(openApiRoot.definitions);\n }\n }\n\n /**\n * Iterates over all root-level definitions to detect and mutate variant structures.\n * \n * @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.\n * @private\n */\n private _scanDefinitions(definitions: Record<string, any>): void {\n for (const [key, definition] of Object.entries(definitions)) {\n // Heuristic 1: If the object name ends with \"Value\" and has multiple optional properties \n // that end with \"_value\" (common Protobuf JSON representation for variants)\n if (this._isProtobufVariant(key, definition)) {\n this._mutateToOneOf(definition);\n }\n }\n }\n\n /**\n * Evaluates a schema block against the heuristic signature of a Protobuf Variant.\n * \n * @param {string} key The schema definition name.\n * @param {any} definition The structural definition block.\n * @returns {boolean} True if the structure matches a Protobuf variant pattern.\n * @private\n */\n private _isProtobufVariant(key: string, definition: any): boolean {\n if (definition.type !== \"object\" || !definition.properties) {\n return false;\n }\n\n // Must not have required fields if it's a pure union\n if (definition.required && definition.required.length > 0) {\n return false;\n }\n\n const propKeys = Object.keys(definition.properties);\n if (propKeys.length < 2) {\n return false;\n }\n\n // Check if all properties end with \"_value\" (e.g. bool_value, list_value)\n const allEndWithValue = propKeys.every(k => k.endsWith(\"_value\"));\n if (allEndWithValue && (key.endsWith(\"Value\") || key.endsWith(\"Variant\"))) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties\n * and strictly purging the original object layout to force polymorphic evaluation.\n * \n * @param {any} definition The target variant object schema.\n * @private\n */\n private _mutateToOneOf(definition: any): void {\n const propKeys = Object.keys(definition.properties);\n const oneOfArray: unknown[] = [];\n\n for (const propKey of propKeys) {\n const variantSchema = definition.properties[propKey];\n \n // Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property\n const syntheticVariant = {\n type: \"object\",\n properties: {\n [propKey]: variantSchema\n },\n required: [propKey],\n title: variantSchema.description || propKey\n };\n \n oneOfArray.push(syntheticVariant);\n }\n\n // Mutate the original definition to become a oneOf root\n definition.oneOf = oneOfArray;\n \n // CRITICAL DESTRUCTIVE MUTATION:\n // We delete the original properties block. If this is not done, the core engine's layout\n // orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.\n delete definition.properties;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;;EAIA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMA,wBAAwB,CAA6B;IAC9D;AACJ;AACA;AACA;AACA;AACA;IACWC,KAAKA,CAACC,WAAgB,EAAQ;MACjC,IAAI,CAACA,WAAW,EAAE;;MAElB;MACA,IAAIA,WAAW,CAACC,OAAO,KAAK,KAAK,IAAID,WAAW,CAACE,WAAW,EAAE;QAC1D,IAAI,CAACC,gBAAgB,CAACH,WAAW,CAACE,WAAW,CAAC;MAClD;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACYC,gBAAgBA,CAACD,WAAgC,EAAQ;MAC7D,KAAK,MAAM,CAACE,GAAG,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,WAAW,CAAC,EAAE;QACzD;QACA;QACA,IAAI,IAAI,CAACM,kBAAkB,CAACJ,GAAG,EAAEC,UAAU,CAAC,EAAE;UAC1C,IAAI,CAACI,cAAc,CAACJ,UAAU,CAAC;QACnC;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACYG,kBAAkBA,CAACJ,GAAW,EAAEC,UAAe,EAAW;MAC9D,IAAIA,UAAU,CAACK,IAAI,KAAK,QAAQ,IAAI,CAACL,UAAU,CAACM,UAAU,EAAE;QACxD,OAAO,KAAK;MAChB;;MAEA;MACA,IAAIN,UAAU,CAACO,QAAQ,IAAIP,UAAU,CAACO,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;QACvD,OAAO,KAAK;MAChB;MAEA,MAAMC,QAAQ,GAAGR,MAAM,CAACS,IAAI,CAACV,UAAU,CAACM,UAAU,CAAC;MACnD,IAAIG,QAAQ,CAACD,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,KAAK;MAChB;;MAEA;MACA,MAAMG,eAAe,GAAGF,QAAQ,CAACG,KAAK,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,QAAQ,CAAC,CAAC;MACjE,IAAIH,eAAe,KAAKZ,GAAG,CAACe,QAAQ,CAAC,OAAO,CAAC,IAAIf,GAAG,CAACe,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;QACvE,OAAO,IAAI;MACf;MAEA,OAAO,KAAK;IAChB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACYV,cAAcA,CAACJ,UAAe,EAAQ;MAC1C,MAAMS,QAAQ,GAAGR,MAAM,CAACS,IAAI,CAACV,UAAU,CAACM,UAAU,CAAC;MACnD,MAAMS,UAAqB,GAAG,EAAE;MAEhC,KAAK,MAAMC,OAAO,IAAIP,QAAQ,EAAE;QAC5B,MAAMQ,aAAa,GAAGjB,UAAU,CAACM,UAAU,CAACU,OAAO,CAAC;;QAEpD;QACA,MAAME,gBAAgB,GAAG;UACrBb,IAAI,EAAE,QAAQ;UACdC,UAAU,EAAE;YACR,CAACU,OAAO,GAAGC;UACf,CAAC;UACDV,QAAQ,EAAE,CAACS,OAAO,CAAC;UACnBG,KAAK,EAAEF,aAAa,CAACG,WAAW,IAAIJ;QACxC,CAAC;QAEDD,UAAU,CAACM,IAAI,CAACH,gBAAgB,CAAC;MACrC;;MAEA;MACAlB,UAAU,CAACsB,KAAK,GAAGP,UAAU;;MAE7B;MACA;MACA;MACA,OAAOf,UAAU,CAACM,UAAU;IAChC;EACJ;EAAC,IAAAiB,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA9B,wBAAA,GAAAA,wBAAA;EAAA,OAAA8B,SAAA;AAAA","ignoreList":[]}
@@ -17,7 +17,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVa
17
17
  *
18
18
  * @param {any} openApiRoot The entire OpenAPI root document.
19
19
  */
20
- apply(openApiRoot: unknown): void;
20
+ apply(openApiRoot: any): void;
21
21
  /**
22
22
  * Iterates over all root-level definitions to detect and mutate variant structures.
23
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufVariantHeuristic.d.ts","sourceRoot":"../../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gFAAgF,CAAC;IAChG;;;OAGG;IAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2EAA2E,CAAC;IAE7G;;;;;OAKG;IACH,MAAa,wBAAyB,YAAW,gBAAgB;QAC7D;;;;;WAKG;QACI,KAAK,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;QASxC;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAUxB;;;;;;;WAOG;QACH,OAAO,CAAC,kBAAkB;QAwB1B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KA4BzB;CAEA"}
1
+ {"version":3,"file":"ProtobufVariantHeuristic.d.ts","sourceRoot":"../../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gFAAgF,CAAC;IAChG;;;OAGG;IAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2EAA2E,CAAC;IAE7G;;;;;OAKG;IACH,MAAa,wBAAyB,YAAW,gBAAgB;QAC7D;;;;;WAKG;QACI,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI;QASpC;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAUxB;;;;;;;WAOG;QACH,OAAO,CAAC,kBAAkB;QAwB1B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KA4BzB;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufVariantHeuristic.js","names":["ProtobufVariantHeuristic","apply","openApiRoot","swagger","definitions","this","_scanDefinitions","key","definition","Object","entries","_isProtobufVariant","_mutateToOneOf","type","properties","required","length","propKeys","keys","allEndWithValue","every","k","endsWith","oneOfArray","propKey","variantSchema","syntheticVariant","title","description","push","oneOf","__exports","__esModule"],"sources":["ProtobufVariantHeuristic.ts"],"sourcesContent":["/**\n * @file ProtobufVariantHeuristic.ts\n * @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.\n */\n\nimport { IHeuristicPlugin } from \"../interfaces/IHeuristicPlugin\";\n\n/**\n * Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)\n * and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.\n * \n * @public\n */\nexport class ProtobufVariantHeuristic implements IHeuristicPlugin {\n /**\n * Executes the heuristic logic against the OpenAPI AST.\n * Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.\n * \n * @param {any} openApiRoot The entire OpenAPI root document.\n */\n public apply(openApiRoot: unknown): void {\n if (!openApiRoot) return;\n\n // In OpenAPI 2.0, scan definitions\n if (openApiRoot.swagger === \"2.0\" && openApiRoot.definitions) {\n this._scanDefinitions(openApiRoot.definitions);\n }\n }\n\n /**\n * Iterates over all root-level definitions to detect and mutate variant structures.\n * \n * @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.\n * @private\n */\n private _scanDefinitions(definitions: Record<string, any>): void {\n for (const [key, definition] of Object.entries(definitions)) {\n // Heuristic 1: If the object name ends with \"Value\" and has multiple optional properties \n // that end with \"_value\" (common Protobuf JSON representation for variants)\n if (this._isProtobufVariant(key, definition)) {\n this._mutateToOneOf(definition);\n }\n }\n }\n\n /**\n * Evaluates a schema block against the heuristic signature of a Protobuf Variant.\n * \n * @param {string} key The schema definition name.\n * @param {any} definition The structural definition block.\n * @returns {boolean} True if the structure matches a Protobuf variant pattern.\n * @private\n */\n private _isProtobufVariant(key: string, definition: unknown): boolean {\n if (definition.type !== \"object\" || !definition.properties) {\n return false;\n }\n\n // Must not have required fields if it's a pure union\n if (definition.required && definition.required.length > 0) {\n return false;\n }\n\n const propKeys = Object.keys(definition.properties);\n if (propKeys.length < 2) {\n return false;\n }\n\n // Check if all properties end with \"_value\" (e.g. bool_value, list_value)\n const allEndWithValue = propKeys.every(k => k.endsWith(\"_value\"));\n if (allEndWithValue && (key.endsWith(\"Value\") || key.endsWith(\"Variant\"))) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties\n * and strictly purging the original object layout to force polymorphic evaluation.\n * \n * @param {any} definition The target variant object schema.\n * @private\n */\n private _mutateToOneOf(definition: unknown): void {\n const propKeys = Object.keys(definition.properties);\n const oneOfArray: unknown[] = [];\n\n for (const propKey of propKeys) {\n const variantSchema = definition.properties[propKey];\n \n // Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property\n const syntheticVariant = {\n type: \"object\",\n properties: {\n [propKey]: variantSchema\n },\n required: [propKey],\n title: variantSchema.description || propKey\n };\n \n oneOfArray.push(syntheticVariant);\n }\n\n // Mutate the original definition to become a oneOf root\n definition.oneOf = oneOfArray;\n \n // CRITICAL DESTRUCTIVE MUTATION:\n // We delete the original properties block. If this is not done, the core engine's layout\n // orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.\n delete definition.properties;\n }\n}\n"],"mappings":"yCAaO,MAAMA,EAOFC,MAAMC,GACT,IAAKA,EAAa,OAGlB,GAAIA,EAAYC,UAAY,OAASD,EAAYE,YAAa,CAC1DC,KAAKC,iBAAiBJ,EAAYE,YACtC,CACJ,CAQQE,iBAAiBF,GACrB,IAAK,MAAOG,EAAKC,KAAeC,OAAOC,QAAQN,GAAc,CAGzD,GAAIC,KAAKM,mBAAmBJ,EAAKC,GAAa,CAC1CH,KAAKO,eAAeJ,EACxB,CACJ,CACJ,CAUQG,mBAAmBJ,EAAaC,GACpC,GAAIA,EAAWK,OAAS,WAAaL,EAAWM,WAAY,CACxD,OAAO,KACX,CAGA,GAAIN,EAAWO,UAAYP,EAAWO,SAASC,OAAS,EAAG,CACvD,OAAO,KACX,CAEA,MAAMC,EAAWR,OAAOS,KAAKV,EAAWM,YACxC,GAAIG,EAASD,OAAS,EAAG,CACrB,OAAO,KACX,CAGA,MAAMG,EAAkBF,EAASG,MAAMC,GAAKA,EAAEC,SAAS,WACvD,GAAIH,IAAoBZ,EAAIe,SAAS,UAAYf,EAAIe,SAAS,YAAa,CACvE,OAAO,IACX,CAEA,OAAO,KACX,CASQV,eAAeJ,GACnB,MAAMS,EAAWR,OAAOS,KAAKV,EAAWM,YACxC,MAAMS,EAAwB,GAE9B,IAAK,MAAMC,KAAWP,EAAU,CAC5B,MAAMQ,EAAgBjB,EAAWM,WAAWU,GAG5C,MAAME,EAAmB,CACrBb,KAAM,SACNC,WAAY,CACRU,CAACA,GAAUC,GAEfV,SAAU,CAACS,GACXG,MAAOF,EAAcG,aAAeJ,GAGxCD,EAAWM,KAAKH,EACpB,CAGAlB,EAAWsB,MAAQP,SAKZf,EAAWM,UACtB,EACH,IAAAiB,EAAA,CAAAC,WAAA,MAAAD,EAAA/B,2BAAA,OAAA+B,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"ProtobufVariantHeuristic.js","names":["ProtobufVariantHeuristic","apply","openApiRoot","swagger","definitions","this","_scanDefinitions","key","definition","Object","entries","_isProtobufVariant","_mutateToOneOf","type","properties","required","length","propKeys","keys","allEndWithValue","every","k","endsWith","oneOfArray","propKey","variantSchema","syntheticVariant","title","description","push","oneOf","__exports","__esModule"],"sources":["ProtobufVariantHeuristic.ts"],"sourcesContent":["/**\n * @file ProtobufVariantHeuristic.ts\n * @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.\n */\n\nimport { IHeuristicPlugin } from \"../interfaces/IHeuristicPlugin\";\n\n/**\n * Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)\n * and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.\n * \n * @public\n */\nexport class ProtobufVariantHeuristic implements IHeuristicPlugin {\n /**\n * Executes the heuristic logic against the OpenAPI AST.\n * Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.\n * \n * @param {any} openApiRoot The entire OpenAPI root document.\n */\n public apply(openApiRoot: any): void {\n if (!openApiRoot) return;\n\n // In OpenAPI 2.0, scan definitions\n if (openApiRoot.swagger === \"2.0\" && openApiRoot.definitions) {\n this._scanDefinitions(openApiRoot.definitions);\n }\n }\n\n /**\n * Iterates over all root-level definitions to detect and mutate variant structures.\n * \n * @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.\n * @private\n */\n private _scanDefinitions(definitions: Record<string, any>): void {\n for (const [key, definition] of Object.entries(definitions)) {\n // Heuristic 1: If the object name ends with \"Value\" and has multiple optional properties \n // that end with \"_value\" (common Protobuf JSON representation for variants)\n if (this._isProtobufVariant(key, definition)) {\n this._mutateToOneOf(definition);\n }\n }\n }\n\n /**\n * Evaluates a schema block against the heuristic signature of a Protobuf Variant.\n * \n * @param {string} key The schema definition name.\n * @param {any} definition The structural definition block.\n * @returns {boolean} True if the structure matches a Protobuf variant pattern.\n * @private\n */\n private _isProtobufVariant(key: string, definition: any): boolean {\n if (definition.type !== \"object\" || !definition.properties) {\n return false;\n }\n\n // Must not have required fields if it's a pure union\n if (definition.required && definition.required.length > 0) {\n return false;\n }\n\n const propKeys = Object.keys(definition.properties);\n if (propKeys.length < 2) {\n return false;\n }\n\n // Check if all properties end with \"_value\" (e.g. bool_value, list_value)\n const allEndWithValue = propKeys.every(k => k.endsWith(\"_value\"));\n if (allEndWithValue && (key.endsWith(\"Value\") || key.endsWith(\"Variant\"))) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties\n * and strictly purging the original object layout to force polymorphic evaluation.\n * \n * @param {any} definition The target variant object schema.\n * @private\n */\n private _mutateToOneOf(definition: any): void {\n const propKeys = Object.keys(definition.properties);\n const oneOfArray: unknown[] = [];\n\n for (const propKey of propKeys) {\n const variantSchema = definition.properties[propKey];\n \n // Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property\n const syntheticVariant = {\n type: \"object\",\n properties: {\n [propKey]: variantSchema\n },\n required: [propKey],\n title: variantSchema.description || propKey\n };\n \n oneOfArray.push(syntheticVariant);\n }\n\n // Mutate the original definition to become a oneOf root\n definition.oneOf = oneOfArray;\n \n // CRITICAL DESTRUCTIVE MUTATION:\n // We delete the original properties block. If this is not done, the core engine's layout\n // orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.\n delete definition.properties;\n }\n}\n"],"mappings":"yCAaO,MAAMA,EAOFC,MAAMC,GACT,IAAKA,EAAa,OAGlB,GAAIA,EAAYC,UAAY,OAASD,EAAYE,YAAa,CAC1DC,KAAKC,iBAAiBJ,EAAYE,YACtC,CACJ,CAQQE,iBAAiBF,GACrB,IAAK,MAAOG,EAAKC,KAAeC,OAAOC,QAAQN,GAAc,CAGzD,GAAIC,KAAKM,mBAAmBJ,EAAKC,GAAa,CAC1CH,KAAKO,eAAeJ,EACxB,CACJ,CACJ,CAUQG,mBAAmBJ,EAAaC,GACpC,GAAIA,EAAWK,OAAS,WAAaL,EAAWM,WAAY,CACxD,OAAO,KACX,CAGA,GAAIN,EAAWO,UAAYP,EAAWO,SAASC,OAAS,EAAG,CACvD,OAAO,KACX,CAEA,MAAMC,EAAWR,OAAOS,KAAKV,EAAWM,YACxC,GAAIG,EAASD,OAAS,EAAG,CACrB,OAAO,KACX,CAGA,MAAMG,EAAkBF,EAASG,MAAMC,GAAKA,EAAEC,SAAS,WACvD,GAAIH,IAAoBZ,EAAIe,SAAS,UAAYf,EAAIe,SAAS,YAAa,CACvE,OAAO,IACX,CAEA,OAAO,KACX,CASQV,eAAeJ,GACnB,MAAMS,EAAWR,OAAOS,KAAKV,EAAWM,YACxC,MAAMS,EAAwB,GAE9B,IAAK,MAAMC,KAAWP,EAAU,CAC5B,MAAMQ,EAAgBjB,EAAWM,WAAWU,GAG5C,MAAME,EAAmB,CACrBb,KAAM,SACNC,WAAY,CACRU,CAACA,GAAUC,GAEfV,SAAU,CAACS,GACXG,MAAOF,EAAcG,aAAeJ,GAGxCD,EAAWM,KAAKH,EACpB,CAGAlB,EAAWsB,MAAQP,SAKZf,EAAWM,UACtB,EACH,IAAAiB,EAAA,CAAAC,WAAA,MAAAD,EAAA/B,2BAAA,OAAA+B,CAAA","ignoreList":[]}
@@ -18,7 +18,7 @@ export class ProtobufVariantHeuristic implements IHeuristicPlugin {
18
18
  *
19
19
  * @param {any} openApiRoot The entire OpenAPI root document.
20
20
  */
21
- public apply(openApiRoot: unknown): void {
21
+ public apply(openApiRoot: any): void {
22
22
  if (!openApiRoot) return;
23
23
 
24
24
  // In OpenAPI 2.0, scan definitions
@@ -51,7 +51,7 @@ export class ProtobufVariantHeuristic implements IHeuristicPlugin {
51
51
  * @returns {boolean} True if the structure matches a Protobuf variant pattern.
52
52
  * @private
53
53
  */
54
- private _isProtobufVariant(key: string, definition: unknown): boolean {
54
+ private _isProtobufVariant(key: string, definition: any): boolean {
55
55
  if (definition.type !== "object" || !definition.properties) {
56
56
  return false;
57
57
  }
@@ -82,7 +82,7 @@ export class ProtobufVariantHeuristic implements IHeuristicPlugin {
82
82
  * @param {any} definition The target variant object schema.
83
83
  * @private
84
84
  */
85
- private _mutateToOneOf(definition: unknown): void {
85
+ private _mutateToOneOf(definition: any): void {
86
86
  const propKeys = Object.keys(definition.properties);
87
87
  const oneOfArray: unknown[] = [];
88
88
 
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi2Parser-dbg.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi2Parser","parse","openApiRoot","targetDefinition","targetObject","definitions","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi2Parser.ts"],"sourcesContent":["/**\n * @file OpenApi2Parser.ts\n * @description Native parser for OpenAPI 2.0 (Swagger) specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.\n * Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi2Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: unknown, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.definitions) {\n const keys = Object.keys(openApiRoot.definitions);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.definitions && openApiRoot.definitions[targetDefinition]) {\n targetObject = openApiRoot.definitions[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${targetDefinition}' in definitions.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"2.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"2.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"2.0\");\n }\n\n if (openApiRoot.definitions) {\n schema.definitions = {};\n for (const key of Object.keys(openApiRoot.definitions)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(openApiRoot.definitions[key], key, false, openApiRoot, \"2.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi2Parser-dbg.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi2Parser","parse","openApiRoot","targetDefinition","targetObject","definitions","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi2Parser.ts"],"sourcesContent":["/**\n * @file OpenApi2Parser.ts\n * @description Native parser for OpenAPI 2.0 (Swagger) specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.\n * Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi2Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: any, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.definitions) {\n const keys = Object.keys(openApiRoot.definitions);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.definitions && openApiRoot.definitions[targetDefinition]) {\n targetObject = openApiRoot.definitions[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${targetDefinition}' in definitions.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"2.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"2.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"2.0\");\n }\n\n if (openApiRoot.definitions) {\n schema.definitions = {};\n for (const key of Object.keys(openApiRoot.definitions)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(openApiRoot.definitions[key], key, false, openApiRoot, \"2.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser" {
21
21
  * @returns {ISchema} The synthesized MetaUI schema structure.
22
22
  * @throws {Error} If the target definition cannot be found in the provided Swagger document.
23
23
  */
24
- parse(openApiRoot: unknown, targetDefinition?: string): ISchema;
24
+ parse(openApiRoot: any, targetDefinition?: string): ISchema;
25
25
  }
26
26
  }
27
27
  //# sourceMappingURL=OpenApi2Parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi2Parser.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2DAA2D,CAAC;IAC3E;;;OAGG;IAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;IAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IAIxE;;;;;OAKG;IACH,MAAa,cAAe,YAAW,oBAAoB;QACvD;;;;;;;;WAQG;QACI,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO;KA6EzE;CAEA"}
1
+ {"version":3,"file":"OpenApi2Parser.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2DAA2D,CAAC;IAC3E;;;OAGG;IAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;IAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IAIxE;;;;;OAKG;IACH,MAAa,cAAe,YAAW,oBAAoB;QACvD;;;;;;;;WAQG;QACI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO;KA6ErE;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi2Parser.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi2Parser","parse","openApiRoot","targetDefinition","targetObject","definitions","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi2Parser.ts"],"sourcesContent":["/**\n * @file OpenApi2Parser.ts\n * @description Native parser for OpenAPI 2.0 (Swagger) specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.\n * Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi2Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: unknown, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.definitions) {\n const keys = Object.keys(openApiRoot.definitions);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.definitions && openApiRoot.definitions[targetDefinition]) {\n targetObject = openApiRoot.definitions[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${targetDefinition}' in definitions.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"2.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"2.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"2.0\");\n }\n\n if (openApiRoot.definitions) {\n schema.definitions = {};\n for (const key of Object.keys(openApiRoot.definitions)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(openApiRoot.definitions[key], key, false, openApiRoot, \"2.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":"6FAAA,MAOSA,EAAqBC,EAAA,+BACrBC,EAAkBC,EAAA,sBAQpB,MAAMC,EAUFC,MAAMC,EAAsBC,GAC/B,IAAIC,EAAeF,EAEnB,IAAKC,EAAkB,CACnB,GAAID,EAAYG,YAAa,CACzB,MAAMC,EAAOC,OAAOD,KAAKJ,EAAYG,aACrC,GAAIC,EAAKE,OAAS,EAAGL,EAAmBG,EAAK,EACjD,CACJ,CAEA,GAAIH,EAAkB,CAClBA,EAAmBA,EAAiBM,QAAQ,wBAAyB,IAAIA,QAAQ,iBAAkB,IACnG,GAAIP,EAAYG,aAAeH,EAAYG,YAAYF,GAAmB,CACtEC,EAAeF,EAAYG,YAAYF,EAC3C,KAAO,CACH,MAAM,IAAIO,MAAM,6DAA6DP,qBACjF,CACJ,CAEA,GAAIC,EAAaO,KAAM,CACnB,MAAMC,EAAWd,EAAmBe,QAAQT,EAAaO,KAAMT,GAC/D,GAAIU,EAAU,CACVR,EAAe,IAAKQ,KAAaR,EACrC,CACJ,CAEA,GAAIU,MAAMC,QAAQX,EAAaY,OAAQ,CACnC,IAAIC,EAAS,IAAKb,UACXa,EAAOD,MACd,IAAK,MAAME,KAAad,EAAaY,MAAO,CACxC,IAAIG,EAAcD,EAClB,GAAIA,EAAUP,KAAM,CAChBQ,EAAcrB,EAAmBe,QAAQK,EAAUP,KAAMT,IAAgB,CAAC,CAC9E,CACAe,EAASrB,EAAsBwB,iBAAiBH,EAAQE,EAC5D,CACAf,EAAea,CACnB,CAEA,MAAMI,EAAkB,CACpBC,MAAOlB,EAAakB,OAASpB,EAAYqB,MAAMD,OAASnB,EACxDqB,KAAMpB,EAAaoB,OAAS,QAAU,QAAU,SAChDC,eAAgBrB,EAAaoB,OAAS,QAAU,QAAU,QAG9D,GAAIpB,EAAasB,qBAAsB,CACnC,GAAItB,EAAasB,uBAAyB,KAAM,CAC5CL,EAAOK,qBAAuB,IAClC,MAAO,UAAWtB,EAAasB,uBAAyB,SAAU,CAC9DL,EAAOK,qBAAuB9B,EAAsB+B,oBAAoBvB,EAAasB,qBAAsB,QAAS,MAAOxB,EAAa,MAC5I,CACJ,CAEA,GAAIE,EAAawB,WAAY,CACzB,MAAMC,EAAiBf,MAAMC,QAAQX,EAAa0B,UAAY1B,EAAa0B,SAAW,GACtFT,EAAOO,WAAahC,EAAsBmC,cAAc3B,EAAawB,WAAYC,EAAgB3B,EAAa,MAClH,MAAO,GAAImB,EAAOG,OAAS,SAAWpB,EAAa4B,MAAO,CACtDX,EAAOW,MAAQpC,EAAsB+B,oBAAoBvB,EAAa4B,MAAO,QAAS,MAAO9B,EAAa,MAC9G,CAEA,GAAIA,EAAYG,YAAa,CACzBgB,EAAOhB,YAAc,CAAC,EACtB,IAAK,MAAM4B,KAAO1B,OAAOD,KAAKJ,EAAYG,aAAc,CACpD,MAAM6B,EAAatC,EAAsB+B,oBAAoBzB,EAAYG,YAAY4B,GAAMA,EAAK,MAAO/B,EAAa,OACpHmB,EAAOhB,YAAY4B,GAAO,CACtBX,MAAOW,EACPT,KAAMU,EAAWV,OAAS,QAAU,QAAU,SAC9CI,WAAYM,EAAWN,WACvBI,MAAOE,EAAWF,MAClBG,GAAID,EAAWC,GACfV,eAAgBS,EAAWV,OAAS,QAAU,QAAU,OAEhE,CACJ,CAEA,OAAOH,CACX,EACH,IAAAe,EAAA,CAAAC,WAAA,MAAAD,EAAApC,iBAAA,OAAAoC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi2Parser.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi2Parser","parse","openApiRoot","targetDefinition","targetObject","definitions","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi2Parser.ts"],"sourcesContent":["/**\n * @file OpenApi2Parser.ts\n * @description Native parser for OpenAPI 2.0 (Swagger) specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.\n * Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi2Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: any, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.definitions) {\n const keys = Object.keys(openApiRoot.definitions);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.definitions && openApiRoot.definitions[targetDefinition]) {\n targetObject = openApiRoot.definitions[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${targetDefinition}' in definitions.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"2.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"2.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"2.0\");\n }\n\n if (openApiRoot.definitions) {\n schema.definitions = {};\n for (const key of Object.keys(openApiRoot.definitions)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(openApiRoot.definitions[key], key, false, openApiRoot, \"2.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":"6FAAA,MAOSA,EAAqBC,EAAA,+BACrBC,EAAkBC,EAAA,sBAQpB,MAAMC,EAUFC,MAAMC,EAAkBC,GAC3B,IAAIC,EAAeF,EAEnB,IAAKC,EAAkB,CACnB,GAAID,EAAYG,YAAa,CACzB,MAAMC,EAAOC,OAAOD,KAAKJ,EAAYG,aACrC,GAAIC,EAAKE,OAAS,EAAGL,EAAmBG,EAAK,EACjD,CACJ,CAEA,GAAIH,EAAkB,CAClBA,EAAmBA,EAAiBM,QAAQ,wBAAyB,IAAIA,QAAQ,iBAAkB,IACnG,GAAIP,EAAYG,aAAeH,EAAYG,YAAYF,GAAmB,CACtEC,EAAeF,EAAYG,YAAYF,EAC3C,KAAO,CACH,MAAM,IAAIO,MAAM,6DAA6DP,qBACjF,CACJ,CAEA,GAAIC,EAAaO,KAAM,CACnB,MAAMC,EAAWd,EAAmBe,QAAQT,EAAaO,KAAMT,GAC/D,GAAIU,EAAU,CACVR,EAAe,IAAKQ,KAAaR,EACrC,CACJ,CAEA,GAAIU,MAAMC,QAAQX,EAAaY,OAAQ,CACnC,IAAIC,EAAS,IAAKb,UACXa,EAAOD,MACd,IAAK,MAAME,KAAad,EAAaY,MAAO,CACxC,IAAIG,EAAcD,EAClB,GAAIA,EAAUP,KAAM,CAChBQ,EAAcrB,EAAmBe,QAAQK,EAAUP,KAAMT,IAAgB,CAAC,CAC9E,CACAe,EAASrB,EAAsBwB,iBAAiBH,EAAQE,EAC5D,CACAf,EAAea,CACnB,CAEA,MAAMI,EAAkB,CACpBC,MAAOlB,EAAakB,OAASpB,EAAYqB,MAAMD,OAASnB,EACxDqB,KAAMpB,EAAaoB,OAAS,QAAU,QAAU,SAChDC,eAAgBrB,EAAaoB,OAAS,QAAU,QAAU,QAG9D,GAAIpB,EAAasB,qBAAsB,CACnC,GAAItB,EAAasB,uBAAyB,KAAM,CAC5CL,EAAOK,qBAAuB,IAClC,MAAO,UAAWtB,EAAasB,uBAAyB,SAAU,CAC9DL,EAAOK,qBAAuB9B,EAAsB+B,oBAAoBvB,EAAasB,qBAAsB,QAAS,MAAOxB,EAAa,MAC5I,CACJ,CAEA,GAAIE,EAAawB,WAAY,CACzB,MAAMC,EAAiBf,MAAMC,QAAQX,EAAa0B,UAAY1B,EAAa0B,SAAW,GACtFT,EAAOO,WAAahC,EAAsBmC,cAAc3B,EAAawB,WAAYC,EAAgB3B,EAAa,MAClH,MAAO,GAAImB,EAAOG,OAAS,SAAWpB,EAAa4B,MAAO,CACtDX,EAAOW,MAAQpC,EAAsB+B,oBAAoBvB,EAAa4B,MAAO,QAAS,MAAO9B,EAAa,MAC9G,CAEA,GAAIA,EAAYG,YAAa,CACzBgB,EAAOhB,YAAc,CAAC,EACtB,IAAK,MAAM4B,KAAO1B,OAAOD,KAAKJ,EAAYG,aAAc,CACpD,MAAM6B,EAAatC,EAAsB+B,oBAAoBzB,EAAYG,YAAY4B,GAAMA,EAAK,MAAO/B,EAAa,OACpHmB,EAAOhB,YAAY4B,GAAO,CACtBX,MAAOW,EACPT,KAAMU,EAAWV,OAAS,QAAU,QAAU,SAC9CI,WAAYM,EAAWN,WACvBI,MAAOE,EAAWF,MAClBG,GAAID,EAAWC,GACfV,eAAgBS,EAAWV,OAAS,QAAU,QAAU,OAEhE,CACJ,CAEA,OAAOH,CACX,EACH,IAAAe,EAAA,CAAAC,WAAA,MAAAD,EAAApC,iBAAA,OAAAoC,CAAA","ignoreList":[]}
@@ -24,7 +24,7 @@ export class OpenApi2Parser implements IOpenApiParserPlugin {
24
24
  * @returns {ISchema} The synthesized MetaUI schema structure.
25
25
  * @throws {Error} If the target definition cannot be found in the provided Swagger document.
26
26
  */
27
- public parse(openApiRoot: unknown, targetDefinition?: string): ISchema {
27
+ public parse(openApiRoot: any, targetDefinition?: string): ISchema {
28
28
  let targetObject = openApiRoot;
29
29
 
30
30
  if (!targetDefinition) {
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi3Parser-dbg.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi3Parser","parse","openApiRoot","targetDefinition","targetObject","components","schemas","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","definitions","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi3Parser.ts"],"sourcesContent":["/**\n * @file OpenApi3Parser.ts\n * @description Native parser for OpenAPI 3.0.x specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 3.0.x schemas.\n * Responsible for translating OpenAPI 3.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi3Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 3.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions from components.schemas, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific schema to extract from components.schemas. If omitted, uses the first schema available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: unknown, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.components && openApiRoot.components.schemas) {\n const keys = Object.keys(openApiRoot.components.schemas);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.components && openApiRoot.components.schemas && openApiRoot.components.schemas[targetDefinition]) {\n targetObject = openApiRoot.components.schemas[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${targetDefinition}' in components.schemas.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"3.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"3.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"3.0\");\n }\n\n if (openApiRoot.components && openApiRoot.components.schemas) {\n schema.definitions = {};\n const schemas = openApiRoot.components.schemas;\n for (const key of Object.keys(schemas)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(schemas[key], key, false, openApiRoot, \"3.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi3Parser-dbg.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi3Parser","parse","openApiRoot","targetDefinition","targetObject","components","schemas","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","definitions","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi3Parser.ts"],"sourcesContent":["/**\n * @file OpenApi3Parser.ts\n * @description Native parser for OpenAPI 3.0.x specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 3.0.x schemas.\n * Responsible for translating OpenAPI 3.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi3Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 3.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions from components.schemas, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific schema to extract from components.schemas. If omitted, uses the first schema available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: any, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.components && openApiRoot.components.schemas) {\n const keys = Object.keys(openApiRoot.components.schemas);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.components && openApiRoot.components.schemas && openApiRoot.components.schemas[targetDefinition]) {\n targetObject = openApiRoot.components.schemas[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi3Parser] Could not find target definition '${targetDefinition}' in components.schemas.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"3.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"3.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"3.0\");\n }\n\n if (openApiRoot.components && openApiRoot.components.schemas) {\n schema.definitions = {};\n const schemas = openApiRoot.components.schemas;\n for (const key of Object.keys(schemas)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(schemas[key], key, false, openApiRoot, \"3.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser" {
21
21
  * @returns {ISchema} The synthesized MetaUI schema structure.
22
22
  * @throws {Error} If the target definition cannot be found in the provided Swagger document.
23
23
  */
24
- parse(openApiRoot: unknown, targetDefinition?: string): ISchema;
24
+ parse(openApiRoot: any, targetDefinition?: string): ISchema;
25
25
  }
26
26
  }
27
27
  //# sourceMappingURL=OpenApi3Parser.d.ts.map