@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":"OpenApi3Parser.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.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;KA8EzE;CAEA"}
1
+ {"version":3,"file":"OpenApi3Parser.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.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;KA8ErE;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi3Parser.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":"6FAAA,MAOSA,EAAqBC,EAAA,+BACrBC,EAAkBC,EAAA,sBAQpB,MAAMC,EAUFC,MAAMC,EAAsBC,GAC/B,IAAIC,EAAeF,EAEnB,IAAKC,EAAkB,CACnB,GAAID,EAAYG,YAAcH,EAAYG,WAAWC,QAAS,CAC1D,MAAMC,EAAOC,OAAOD,KAAKL,EAAYG,WAAWC,SAChD,GAAIC,EAAKE,OAAS,EAAGN,EAAmBI,EAAK,EACjD,CACJ,CAEA,GAAIJ,EAAkB,CAClBA,EAAmBA,EAAiBO,QAAQ,wBAAyB,IAAIA,QAAQ,iBAAkB,IACnG,GAAIR,EAAYG,YAAcH,EAAYG,WAAWC,SAAWJ,EAAYG,WAAWC,QAAQH,GAAmB,CAC9GC,EAAeF,EAAYG,WAAWC,QAAQH,EAClD,KAAO,CACH,MAAM,IAAIQ,MAAM,6DAA6DR,4BACjF,CACJ,CAEA,GAAIC,EAAaQ,KAAM,CACnB,MAAMC,EAAWf,EAAmBgB,QAAQV,EAAaQ,KAAMV,GAC/D,GAAIW,EAAU,CACVT,EAAe,IAAKS,KAAaT,EACrC,CACJ,CAEA,GAAIW,MAAMC,QAAQZ,EAAaa,OAAQ,CACnC,IAAIC,EAAS,IAAKd,UACXc,EAAOD,MACd,IAAK,MAAME,KAAaf,EAAaa,MAAO,CACxC,IAAIG,EAAcD,EAClB,GAAIA,EAAUP,KAAM,CAChBQ,EAActB,EAAmBgB,QAAQK,EAAUP,KAAMV,IAAgB,CAAC,CAC9E,CACAgB,EAAStB,EAAsByB,iBAAiBH,EAAQE,EAC5D,CACAhB,EAAec,CACnB,CAEA,MAAMI,EAAkB,CACpBC,MAAOnB,EAAamB,OAASrB,EAAYsB,MAAMD,OAASpB,EACxDsB,KAAMrB,EAAaqB,OAAS,QAAU,QAAU,SAChDC,eAAgBtB,EAAaqB,OAAS,QAAU,QAAU,QAG9D,GAAIrB,EAAauB,qBAAsB,CACnC,GAAIvB,EAAauB,uBAAyB,KAAM,CAC5CL,EAAOK,qBAAuB,IAClC,MAAO,UAAWvB,EAAauB,uBAAyB,SAAU,CAC9DL,EAAOK,qBAAuB/B,EAAsBgC,oBAAoBxB,EAAauB,qBAAsB,QAAS,MAAOzB,EAAa,MAC5I,CACJ,CAEA,GAAIE,EAAayB,WAAY,CACzB,MAAMC,EAAiBf,MAAMC,QAAQZ,EAAa2B,UAAY3B,EAAa2B,SAAW,GACtFT,EAAOO,WAAajC,EAAsBoC,cAAc5B,EAAayB,WAAYC,EAAgB5B,EAAa,MAClH,MAAO,GAAIoB,EAAOG,OAAS,SAAWrB,EAAa6B,MAAO,CACtDX,EAAOW,MAAQrC,EAAsBgC,oBAAoBxB,EAAa6B,MAAO,QAAS,MAAO/B,EAAa,MAC9G,CAEA,GAAIA,EAAYG,YAAcH,EAAYG,WAAWC,QAAS,CAC1DgB,EAAOY,YAAc,CAAC,EACtB,MAAM5B,EAAUJ,EAAYG,WAAWC,QACvC,IAAK,MAAM6B,KAAO3B,OAAOD,KAAKD,GAAU,CACpC,MAAM8B,EAAaxC,EAAsBgC,oBAAoBtB,EAAQ6B,GAAMA,EAAK,MAAOjC,EAAa,OACpGoB,EAAOY,YAAYC,GAAO,CACtBZ,MAAOY,EACPV,KAAMW,EAAWX,OAAS,QAAU,QAAU,SAC9CI,WAAYO,EAAWP,WACvBI,MAAOG,EAAWH,MAClBI,GAAID,EAAWC,GACfX,eAAgBU,EAAWX,OAAS,QAAU,QAAU,OAEhE,CACJ,CAEA,OAAOH,CACX,EACH,IAAAgB,EAAA,CAAAC,WAAA,MAAAD,EAAAtC,iBAAA,OAAAsC,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi3Parser.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":"6FAAA,MAOSA,EAAqBC,EAAA,+BACrBC,EAAkBC,EAAA,sBAQpB,MAAMC,EAUFC,MAAMC,EAAkBC,GAC3B,IAAIC,EAAeF,EAEnB,IAAKC,EAAkB,CACnB,GAAID,EAAYG,YAAcH,EAAYG,WAAWC,QAAS,CAC1D,MAAMC,EAAOC,OAAOD,KAAKL,EAAYG,WAAWC,SAChD,GAAIC,EAAKE,OAAS,EAAGN,EAAmBI,EAAK,EACjD,CACJ,CAEA,GAAIJ,EAAkB,CAClBA,EAAmBA,EAAiBO,QAAQ,wBAAyB,IAAIA,QAAQ,iBAAkB,IACnG,GAAIR,EAAYG,YAAcH,EAAYG,WAAWC,SAAWJ,EAAYG,WAAWC,QAAQH,GAAmB,CAC9GC,EAAeF,EAAYG,WAAWC,QAAQH,EAClD,KAAO,CACH,MAAM,IAAIQ,MAAM,6DAA6DR,4BACjF,CACJ,CAEA,GAAIC,EAAaQ,KAAM,CACnB,MAAMC,EAAWf,EAAmBgB,QAAQV,EAAaQ,KAAMV,GAC/D,GAAIW,EAAU,CACVT,EAAe,IAAKS,KAAaT,EACrC,CACJ,CAEA,GAAIW,MAAMC,QAAQZ,EAAaa,OAAQ,CACnC,IAAIC,EAAS,IAAKd,UACXc,EAAOD,MACd,IAAK,MAAME,KAAaf,EAAaa,MAAO,CACxC,IAAIG,EAAcD,EAClB,GAAIA,EAAUP,KAAM,CAChBQ,EAActB,EAAmBgB,QAAQK,EAAUP,KAAMV,IAAgB,CAAC,CAC9E,CACAgB,EAAStB,EAAsByB,iBAAiBH,EAAQE,EAC5D,CACAhB,EAAec,CACnB,CAEA,MAAMI,EAAkB,CACpBC,MAAOnB,EAAamB,OAASrB,EAAYsB,MAAMD,OAASpB,EACxDsB,KAAMrB,EAAaqB,OAAS,QAAU,QAAU,SAChDC,eAAgBtB,EAAaqB,OAAS,QAAU,QAAU,QAG9D,GAAIrB,EAAauB,qBAAsB,CACnC,GAAIvB,EAAauB,uBAAyB,KAAM,CAC5CL,EAAOK,qBAAuB,IAClC,MAAO,UAAWvB,EAAauB,uBAAyB,SAAU,CAC9DL,EAAOK,qBAAuB/B,EAAsBgC,oBAAoBxB,EAAauB,qBAAsB,QAAS,MAAOzB,EAAa,MAC5I,CACJ,CAEA,GAAIE,EAAayB,WAAY,CACzB,MAAMC,EAAiBf,MAAMC,QAAQZ,EAAa2B,UAAY3B,EAAa2B,SAAW,GACtFT,EAAOO,WAAajC,EAAsBoC,cAAc5B,EAAayB,WAAYC,EAAgB5B,EAAa,MAClH,MAAO,GAAIoB,EAAOG,OAAS,SAAWrB,EAAa6B,MAAO,CACtDX,EAAOW,MAAQrC,EAAsBgC,oBAAoBxB,EAAa6B,MAAO,QAAS,MAAO/B,EAAa,MAC9G,CAEA,GAAIA,EAAYG,YAAcH,EAAYG,WAAWC,QAAS,CAC1DgB,EAAOY,YAAc,CAAC,EACtB,MAAM5B,EAAUJ,EAAYG,WAAWC,QACvC,IAAK,MAAM6B,KAAO3B,OAAOD,KAAKD,GAAU,CACpC,MAAM8B,EAAaxC,EAAsBgC,oBAAoBtB,EAAQ6B,GAAMA,EAAK,MAAOjC,EAAa,OACpGoB,EAAOY,YAAYC,GAAO,CACtBZ,MAAOY,EACPV,KAAMW,EAAWX,OAAS,QAAU,QAAU,SAC9CI,WAAYO,EAAWP,WACvBI,MAAOG,EAAWH,MAClBI,GAAID,EAAWC,GACfX,eAAgBU,EAAWX,OAAS,QAAU,QAAU,OAEhE,CACJ,CAEA,OAAOH,CACX,EACH,IAAAgB,EAAA,CAAAC,WAAA,MAAAD,EAAAtC,iBAAA,OAAAsC,CAAA","ignoreList":[]}
@@ -24,7 +24,7 @@ export class OpenApi3Parser 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) {
@@ -17,7 +17,7 @@ sap.ui.define(["../OpenApiRefResolver", "../OpenApiTypeMapper", "../OpenApiUIMap
17
17
  /**
18
18
  * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.
19
19
  *
20
- * @param {Record<string, any>} properties The OpenAPI properties block.
20
+ * @param {any} properties The OpenAPI properties block.
21
21
  * @param {string[]} requiredKeys Array of required property keys.
22
22
  * @param {any} openApiRoot The OpenAPI root document for resolving references.
23
23
  * @param {"2.0" | "3.0"} version The OpenAPI version.
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiPropertyMapper-dbg.js","names":["OpenApiRefResolver","___OpenApiRefResolver","OpenApiTypeMapper","___OpenApiTypeMapper","OpenApiUIMapper","___OpenApiUIMapper","OpenApiPropertyMapper","mapProperties","properties","requiredKeys","openApiRoot","version","depth","normalizedProps","key","Object","keys","isRequired","includes","propDef","$ref","resolved","resolve","mapPropertyMetadata","swaggerProp","keyName","currentProp","refResult","_resolveReference","_resolveAllOf","type","mapType","metaProp","required","uiDirective","build","length","ui","_applyConstraints","_applyStateModifiers","default","undefined","Array","isArray","enum","widget","_applyPolymorphism","_applyNestedTypes","resolvedType","inlineProp","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","maxLength","minLength","pattern","maximum","minimum","multipleOf","maxItems","minItems","uniqueItems","maxProperties","minProperties","exclusiveMaximum","exclusiveMinimum","readOnly","writeOnly","nullable","deprecated","discriminator","propertyName","mapping","oneOf","i","push","anyOf","not","childRequired","additionalProperties","items","target","source","output","assign","forEach","from","Set","__exports","__esModule"],"sources":["OpenApiPropertyMapper.ts"],"sourcesContent":["/**\n * @file OpenApiPropertyMapper.ts\n * @description Extracts and maps OpenAPI properties into MetaUI IPropertyMetadata.\n */\n\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\nimport { OpenApiTypeMapper } from \"../OpenApiTypeMapper\";\nimport { OpenApiUIMapper } from \"../OpenApiUIMapper\";\n\n/**\n * Utility class responsible for extracting and mapping OpenAPI properties into the native MetaUI IPropertyMetadata schema format.\n * \n * @public\n */\nexport class OpenApiPropertyMapper {\n /**\n * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.\n * \n * @param {Record<string, any>} properties The OpenAPI properties block.\n * @param {string[]} requiredKeys Array of required property keys.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter to prevent stack overflows on circular refs.\n * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.\n */\n public static mapProperties(\n properties: Record<string, any>, \n requiredKeys: string[], \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): Record<string, IPropertyMetadata> {\n const normalizedProps: Record<string, IPropertyMetadata> = {};\n \n if (depth > 8) return normalizedProps;\n\n for (const key of Object.keys(properties)) {\n const isRequired = requiredKeys.includes(key);\n let propDef = properties[key];\n\n if (propDef.$ref) {\n const resolved = OpenApiRefResolver.resolve(propDef.$ref, openApiRoot);\n if (resolved) {\n propDef = { ...resolved, ...propDef };\n }\n }\n\n normalizedProps[key] = this.mapPropertyMetadata(propDef, key, isRequired, openApiRoot, version, depth + 1);\n }\n \n return normalizedProps;\n }\n\n /**\n * Translates a single OpenAPI property schema block into a MetaUI IPropertyMetadata block.\n * Delegates specific mapping tasks to focused private methods to adhere to SRP.\n * \n * @param {any} swaggerProp The specific OpenAPI property schema to map.\n * @param {string} keyName The key/name of this property.\n * @param {boolean} isRequired Whether this property is strictly required.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter.\n * @returns {IPropertyMetadata} The normalized MetaUI property metadata.\n */\n public static mapPropertyMetadata(\n swaggerProp: unknown, \n keyName: string, \n isRequired: boolean, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): IPropertyMetadata {\n let currentProp = swaggerProp;\n\n // 1. Resolve References\n const refResult = this._resolveReference(currentProp, keyName, isRequired, openApiRoot, version, depth);\n if (refResult) {\n return refResult;\n }\n\n // 2. Resolve Composition (allOf)\n currentProp = this._resolveAllOf(currentProp, openApiRoot);\n\n // 3. Base Initialization\n const type = OpenApiTypeMapper.mapType(currentProp.type);\n const metaProp: IPropertyMetadata = {\n type: type,\n required: isRequired\n };\n\n // 4. UI Directive Binding\n const uiDirective = OpenApiUIMapper.build(currentProp, keyName);\n if (Object.keys(uiDirective).length > 0) {\n metaProp.ui = uiDirective;\n }\n\n // 5. Constraints & State Modifiers\n this._applyConstraints(metaProp, currentProp, version);\n this._applyStateModifiers(metaProp, currentProp);\n\n if (currentProp.default !== undefined) {\n metaProp.default = currentProp.default;\n }\n\n if (Array.isArray(currentProp.enum)) {\n metaProp.enum = currentProp.enum;\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dropdown\";\n }\n\n // 6. Polymorphism & Nesting\n this._applyPolymorphism(metaProp, currentProp, openApiRoot, version, depth);\n this._applyNestedTypes(metaProp, currentProp, openApiRoot, version, depth, type);\n\n return metaProp;\n }\n\n /**\n * Attempts to resolve a $ref block. If it resolves to a primitive, it inlines it.\n * Otherwise, it returns a reference widget payload.\n * \n * @param {any} currentProp The current schema property definition.\n * @param {string} keyName The structural key name.\n * @param {boolean} isRequired Whether the property is strictly required.\n * @param {any} openApiRoot The root API definition for relative resolution.\n * @param {\"2.0\" | \"3.0\"} version The structural version context.\n * @param {number} depth The recursive resolution depth.\n * @returns {IPropertyMetadata | null} Resolved metadata, or null if no reference exists.\n * @private\n */\n private static _resolveReference(\n currentProp: unknown, \n keyName: string, \n isRequired: boolean, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): IPropertyMetadata | null {\n if (!currentProp.$ref) {\n return null;\n }\n\n const resolved = OpenApiRefResolver.resolve(currentProp.$ref, openApiRoot);\n const resolvedType = currentProp.type || (resolved && resolved.type);\n \n if (resolvedType && [\"string\", \"number\", \"integer\", \"boolean\"].includes(resolvedType)) {\n const inlineProp = { ...resolved, ...currentProp };\n delete inlineProp.$ref;\n return this.mapPropertyMetadata(inlineProp, keyName, isRequired, openApiRoot, version, depth + 1);\n }\n\n return {\n type: \"object\",\n $ref: currentProp.$ref,\n required: isRequired,\n ui: { widget: \"reference\" }\n };\n }\n\n /**\n * Evaluates and merges 'allOf' arrays into a unified schema definition.\n * \n * @param {any} currentProp The structural property definition containing potential aggregations.\n * @param {any} openApiRoot The base schema for deep resolution.\n * @returns {any} A flattened and merged schema entity.\n * @private\n */\n private static _resolveAllOf(currentProp: unknown, openApiRoot: unknown): unknown {\n if (!Array.isArray(currentProp.allOf)) {\n return currentProp;\n }\n \n let merged = { ...currentProp };\n delete merged.allOf;\n for (const subSchema of currentProp.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = this.deepMergeSchemas(merged, resolvedSub);\n }\n return merged;\n }\n\n /**\n * Extracts structural constraints (min/max, regex, etc.) and maps them natively to the output metadata.\n * \n * @param {IPropertyMetadata} metaProp The target metadata definition block.\n * @param {any} currentProp The source OpenAPI schema chunk.\n * @param {\"2.0\" | \"3.0\"} version The version, utilized for nuanced boundary matching.\n * @private\n */\n private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: unknown, version: \"2.0\" | \"3.0\"): void {\n // String Constraints\n if (typeof currentProp.maxLength === \"number\") metaProp.maxLength = currentProp.maxLength;\n if (typeof currentProp.minLength === \"number\") metaProp.minLength = currentProp.minLength;\n if (typeof currentProp.pattern === \"string\") metaProp.pattern = currentProp.pattern;\n\n // Numeric Constraints\n if (typeof currentProp.maximum === \"number\") metaProp.maximum = currentProp.maximum;\n if (typeof currentProp.minimum === \"number\") metaProp.minimum = currentProp.minimum;\n if (typeof currentProp.multipleOf === \"number\") metaProp.multipleOf = currentProp.multipleOf;\n \n // Array Constraints\n if (typeof currentProp.maxItems === \"number\") metaProp.maxItems = currentProp.maxItems;\n if (typeof currentProp.minItems === \"number\") metaProp.minItems = currentProp.minItems;\n if (typeof currentProp.uniqueItems === \"boolean\") metaProp.uniqueItems = currentProp.uniqueItems;\n\n // Object Constraints\n if (typeof currentProp.maxProperties === \"number\") metaProp.maxProperties = currentProp.maxProperties;\n if (typeof currentProp.minProperties === \"number\") metaProp.minProperties = currentProp.minProperties;\n\n // Exclusive Min/Max version-specific logic\n if (version === \"2.0\") {\n if (currentProp.exclusiveMaximum === true && typeof currentProp.maximum === \"number\") {\n metaProp.exclusiveMaximum = true;\n }\n if (currentProp.exclusiveMinimum === true && typeof currentProp.minimum === \"number\") {\n metaProp.exclusiveMinimum = true;\n }\n } else if (version === \"3.0\") {\n if (typeof currentProp.exclusiveMaximum === \"number\" || typeof currentProp.exclusiveMaximum === \"boolean\") {\n metaProp.exclusiveMaximum = currentProp.exclusiveMaximum;\n }\n if (typeof currentProp.exclusiveMinimum === \"number\" || typeof currentProp.exclusiveMinimum === \"boolean\") {\n metaProp.exclusiveMinimum = currentProp.exclusiveMinimum;\n }\n }\n }\n\n /**\n * Extracts operational state flags like readOnly or nullable mapping them onto the internal specification.\n * \n * @param {IPropertyMetadata} metaProp Target native specification.\n * @param {any} currentProp Source raw schema payload.\n * @private\n */\n private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: unknown): void {\n if (currentProp.readOnly === true) metaProp.readOnly = true;\n if (currentProp.writeOnly === true) metaProp.writeOnly = true;\n if (currentProp.nullable === true) metaProp.nullable = true;\n if (currentProp.deprecated === true) metaProp.deprecated = true;\n }\n\n /**\n * Extracts and maps polymorphic discriminator and union types (oneOf/anyOf) to MetaUI structural directives.\n * \n * @param {IPropertyMetadata} metaProp Native MetaUI definition tree.\n * @param {any} currentProp Raw schema block.\n * @param {any} openApiRoot Master OpenAPI root.\n * @param {\"2.0\" | \"3.0\"} version Protocol version identifier.\n * @param {number} depth Internal depth tracker.\n * @private\n */\n private static _applyPolymorphism(\n metaProp: IPropertyMetadata, \n currentProp: unknown, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): void {\n // Discriminator handling\n if (currentProp.discriminator) {\n if (version === \"2.0\" && typeof currentProp.discriminator === \"string\") {\n metaProp.discriminator = { propertyName: currentProp.discriminator };\n } else if (version === \"3.0\" && typeof currentProp.discriminator === \"object\") {\n metaProp.discriminator = {\n propertyName: currentProp.discriminator.propertyName,\n mapping: currentProp.discriminator.mapping\n };\n }\n }\n\n // Handle oneOf polymorphic mapping\n if (Array.isArray(currentProp.oneOf)) {\n metaProp.oneOf = [];\n for (let i = 0; i < currentProp.oneOf.length; i++) {\n metaProp.oneOf.push(this.mapPropertyMetadata(currentProp.oneOf[i], `Variant${i}`, false, openApiRoot, version, depth + 1));\n }\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"polymorphic\";\n }\n \n // Handle anyOf mapping\n if (Array.isArray(currentProp.anyOf)) {\n metaProp.anyOf = [];\n for (let i = 0; i < currentProp.anyOf.length; i++) {\n metaProp.anyOf.push(this.mapPropertyMetadata(currentProp.anyOf[i], `AnyVariant${i}`, false, openApiRoot, version, depth + 1));\n }\n }\n\n // Handle not mapping\n if (currentProp.not) {\n metaProp.not = this.mapPropertyMetadata(currentProp.not, `NotVariant`, false, openApiRoot, version, depth + 1);\n }\n }\n\n /**\n * Recursively traverses into nested objects and arrays constructing the structural node trees.\n * \n * @param {IPropertyMetadata} metaProp The localized destination structure.\n * @param {any} currentProp The source chunk representing a complex element.\n * @param {any} openApiRoot The OpenAPI dictionary context.\n * @param {\"2.0\" | \"3.0\"} version System schema version.\n * @param {number} depth Invocation stack depth.\n * @param {string} type Normalized atomic structure type.\n * @private\n */\n private static _applyNestedTypes(\n metaProp: IPropertyMetadata, \n currentProp: unknown, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number,\n type: string\n ): void {\n if (type === \"object\") {\n if (currentProp.properties) {\n const childRequired = Array.isArray(currentProp.required) ? currentProp.required : [];\n metaProp.properties = this.mapProperties(currentProp.properties, childRequired, openApiRoot, version, depth + 1);\n }\n \n if (currentProp.additionalProperties) {\n if (currentProp.additionalProperties === true) {\n metaProp.additionalProperties = true;\n } else if (typeof currentProp.additionalProperties === \"object\") {\n metaProp.additionalProperties = this.mapPropertyMetadata(currentProp.additionalProperties, \"value\", false, openApiRoot, version, depth + 1);\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dictionary\";\n }\n }\n \n // Opaque JSON object definition mapping\n if (!currentProp.properties && !currentProp.additionalProperties) {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"codeEditor\";\n }\n } else if (type === \"array\" && currentProp.items) {\n metaProp.items = this.mapPropertyMetadata(currentProp.items, \"items\", false, openApiRoot, version, depth + 1);\n if (metaProp.items.type !== \"object\") {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"multiInput\";\n }\n }\n }\n\n /**\n * Recursively deep-merges two OpenAPI objects, ensuring array boundaries and nested structures are preserved.\n * \n * @param {any} target The target base object.\n * @param {any} source The source object providing override details.\n * @returns {any} The synthesized output object.\n */\n public static deepMergeSchemas(target: unknown, source: unknown): unknown {\n const output = Object.assign({}, target);\n if (source === null || typeof source !== \"object\") return output;\n\n Object.keys(source).forEach(key => {\n if (Array.isArray(source[key])) {\n output[key] = Array.isArray(target[key]) \n ? Array.from(new Set([...target[key], ...source[key]])) \n : [...source[key]];\n } else if (typeof source[key] === \"object\" && source[key] !== null) {\n if (target[key] && typeof target[key] === \"object\") {\n output[key] = this.deepMergeSchemas(target[key], source[key]);\n } else {\n output[key] = Object.assign({}, source[key]);\n }\n } else {\n output[key] = source[key];\n }\n });\n return output;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAMSA,kBAAkB,GAAAC,qBAAA;EAAA,MAClBC,iBAAiB,GAAAC,oBAAA;EAAA,MACjBC,eAAe,GAAAC,kBAAA;EAExB;AACA;AACA;AACA;AACA;EACO,MAAMC,qBAAqB,CAAC;IAC/B;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAcC,aAAaA,CACvBC,UAA+B,EAC/BC,YAAsB,EACtBC,WAAoB,EACpBC,OAAsB,EACtBC,KAAa,GAAG,CAAC,EACgB;MACjC,MAAMC,eAAkD,GAAG,CAAC,CAAC;MAE7D,IAAID,KAAK,GAAG,CAAC,EAAE,OAAOC,eAAe;MAErC,KAAK,MAAMC,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACR,UAAU,CAAC,EAAE;QACvC,MAAMS,UAAU,GAAGR,YAAY,CAACS,QAAQ,CAACJ,GAAG,CAAC;QAC7C,IAAIK,OAAO,GAAGX,UAAU,CAACM,GAAG,CAAC;QAE7B,IAAIK,OAAO,CAACC,IAAI,EAAE;UACd,MAAMC,QAAQ,GAAGrB,kBAAkB,CAACsB,OAAO,CAACH,OAAO,CAACC,IAAI,EAAEV,WAAW,CAAC;UACtE,IAAIW,QAAQ,EAAE;YACVF,OAAO,GAAG;cAAE,GAAGE,QAAQ;cAAE,GAAGF;YAAQ,CAAC;UACzC;QACJ;QAEAN,eAAe,CAACC,GAAG,CAAC,GAAG,IAAI,CAACS,mBAAmB,CAACJ,OAAO,EAAEL,GAAG,EAAEG,UAAU,EAAEP,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC;MAC9G;MAEA,OAAOC,eAAe;IAC1B;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAcU,mBAAmBA,CAC7BC,WAAoB,EACpBC,OAAe,EACfR,UAAmB,EACnBP,WAAoB,EACpBC,OAAsB,EACtBC,KAAa,GAAG,CAAC,EACA;MACjB,IAAIc,WAAW,GAAGF,WAAW;;MAE7B;MACA,MAAMG,SAAS,GAAG,IAAI,CAACC,iBAAiB,CAACF,WAAW,EAAED,OAAO,EAAER,UAAU,EAAEP,WAAW,EAAEC,OAAO,EAAEC,KAAK,CAAC;MACvG,IAAIe,SAAS,EAAE;QACX,OAAOA,SAAS;MACpB;;MAEA;MACAD,WAAW,GAAG,IAAI,CAACG,aAAa,CAACH,WAAW,EAAEhB,WAAW,CAAC;;MAE1D;MACA,MAAMoB,IAAI,GAAG5B,iBAAiB,CAAC6B,OAAO,CAACL,WAAW,CAACI,IAAI,CAAC;MACxD,MAAME,QAA2B,GAAG;QAChCF,IAAI,EAAEA,IAAI;QACVG,QAAQ,EAAEhB;MACd,CAAC;;MAED;MACA,MAAMiB,WAAW,GAAG9B,eAAe,CAAC+B,KAAK,CAACT,WAAW,EAAED,OAAO,CAAC;MAC/D,IAAIV,MAAM,CAACC,IAAI,CAACkB,WAAW,CAAC,CAACE,MAAM,GAAG,CAAC,EAAE;QACrCJ,QAAQ,CAACK,EAAE,GAAGH,WAAW;MAC7B;;MAEA;MACA,IAAI,CAACI,iBAAiB,CAACN,QAAQ,EAAEN,WAAW,EAAEf,OAAO,CAAC;MACtD,IAAI,CAAC4B,oBAAoB,CAACP,QAAQ,EAAEN,WAAW,CAAC;MAEhD,IAAIA,WAAW,CAACc,OAAO,KAAKC,SAAS,EAAE;QACnCT,QAAQ,CAACQ,OAAO,GAAGd,WAAW,CAACc,OAAO;MAC1C;MAEA,IAAIE,KAAK,CAACC,OAAO,CAACjB,WAAW,CAACkB,IAAI,CAAC,EAAE;QACjCZ,QAAQ,CAACY,IAAI,GAAGlB,WAAW,CAACkB,IAAI;QAChC,IAAI,CAACZ,QAAQ,CAACK,EAAE,EAAEL,QAAQ,CAACK,EAAE,GAAG,CAAC,CAAC;QAClCL,QAAQ,CAACK,EAAE,CAACQ,MAAM,GAAG,UAAU;MACnC;;MAEA;MACA,IAAI,CAACC,kBAAkB,CAACd,QAAQ,EAAEN,WAAW,EAAEhB,WAAW,EAAEC,OAAO,EAAEC,KAAK,CAAC;MAC3E,IAAI,CAACmC,iBAAiB,CAACf,QAAQ,EAAEN,WAAW,EAAEhB,WAAW,EAAEC,OAAO,EAAEC,KAAK,EAAEkB,IAAI,CAAC;MAEhF,OAAOE,QAAQ;IACnB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAeJ,iBAAiBA,CAC5BF,WAAoB,EACpBD,OAAe,EACfR,UAAmB,EACnBP,WAAoB,EACpBC,OAAsB,EACtBC,KAAa,EACW;MACxB,IAAI,CAACc,WAAW,CAACN,IAAI,EAAE;QACnB,OAAO,IAAI;MACf;MAEA,MAAMC,QAAQ,GAAGrB,kBAAkB,CAACsB,OAAO,CAACI,WAAW,CAACN,IAAI,EAAEV,WAAW,CAAC;MAC1E,MAAMsC,YAAY,GAAGtB,WAAW,CAACI,IAAI,IAAKT,QAAQ,IAAIA,QAAQ,CAACS,IAAK;MAEpE,IAAIkB,YAAY,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC9B,QAAQ,CAAC8B,YAAY,CAAC,EAAE;QACnF,MAAMC,UAAU,GAAG;UAAE,GAAG5B,QAAQ;UAAE,GAAGK;QAAY,CAAC;QAClD,OAAOuB,UAAU,CAAC7B,IAAI;QACtB,OAAO,IAAI,CAACG,mBAAmB,CAAC0B,UAAU,EAAExB,OAAO,EAAER,UAAU,EAAEP,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC;MACrG;MAEA,OAAO;QACHkB,IAAI,EAAE,QAAQ;QACdV,IAAI,EAAEM,WAAW,CAACN,IAAI;QACtBa,QAAQ,EAAEhB,UAAU;QACpBoB,EAAE,EAAE;UAAEQ,MAAM,EAAE;QAAY;MAC9B,CAAC;IACL;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAehB,aAAaA,CAACH,WAAoB,EAAEhB,WAAoB,EAAW;MAC9E,IAAI,CAACgC,KAAK,CAACC,OAAO,CAACjB,WAAW,CAACwB,KAAK,CAAC,EAAE;QACnC,OAAOxB,WAAW;MACtB;MAEA,IAAIyB,MAAM,GAAG;QAAE,GAAGzB;MAAY,CAAC;MAC/B,OAAOyB,MAAM,CAACD,KAAK;MACnB,KAAK,MAAME,SAAS,IAAI1B,WAAW,CAACwB,KAAK,EAAE;QACvC,IAAIG,WAAW,GAAGD,SAAS;QAC3B,IAAIA,SAAS,CAAChC,IAAI,EAAE;UAChBiC,WAAW,GAAGrD,kBAAkB,CAACsB,OAAO,CAAC8B,SAAS,CAAChC,IAAI,EAAEV,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/E;QACAyC,MAAM,GAAG,IAAI,CAACG,gBAAgB,CAACH,MAAM,EAAEE,WAAW,CAAC;MACvD;MACA,OAAOF,MAAM;IACjB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAeb,iBAAiBA,CAACN,QAA2B,EAAEN,WAAoB,EAAEf,OAAsB,EAAQ;MAC9G;MACA,IAAI,OAAOe,WAAW,CAAC6B,SAAS,KAAK,QAAQ,EAAEvB,QAAQ,CAACuB,SAAS,GAAG7B,WAAW,CAAC6B,SAAS;MACzF,IAAI,OAAO7B,WAAW,CAAC8B,SAAS,KAAK,QAAQ,EAAExB,QAAQ,CAACwB,SAAS,GAAG9B,WAAW,CAAC8B,SAAS;MACzF,IAAI,OAAO9B,WAAW,CAAC+B,OAAO,KAAK,QAAQ,EAAEzB,QAAQ,CAACyB,OAAO,GAAG/B,WAAW,CAAC+B,OAAO;;MAEnF;MACA,IAAI,OAAO/B,WAAW,CAACgC,OAAO,KAAK,QAAQ,EAAE1B,QAAQ,CAAC0B,OAAO,GAAGhC,WAAW,CAACgC,OAAO;MACnF,IAAI,OAAOhC,WAAW,CAACiC,OAAO,KAAK,QAAQ,EAAE3B,QAAQ,CAAC2B,OAAO,GAAGjC,WAAW,CAACiC,OAAO;MACnF,IAAI,OAAOjC,WAAW,CAACkC,UAAU,KAAK,QAAQ,EAAE5B,QAAQ,CAAC4B,UAAU,GAAGlC,WAAW,CAACkC,UAAU;;MAE5F;MACA,IAAI,OAAOlC,WAAW,CAACmC,QAAQ,KAAK,QAAQ,EAAE7B,QAAQ,CAAC6B,QAAQ,GAAGnC,WAAW,CAACmC,QAAQ;MACtF,IAAI,OAAOnC,WAAW,CAACoC,QAAQ,KAAK,QAAQ,EAAE9B,QAAQ,CAAC8B,QAAQ,GAAGpC,WAAW,CAACoC,QAAQ;MACtF,IAAI,OAAOpC,WAAW,CAACqC,WAAW,KAAK,SAAS,EAAE/B,QAAQ,CAAC+B,WAAW,GAAGrC,WAAW,CAACqC,WAAW;;MAEhG;MACA,IAAI,OAAOrC,WAAW,CAACsC,aAAa,KAAK,QAAQ,EAAEhC,QAAQ,CAACgC,aAAa,GAAGtC,WAAW,CAACsC,aAAa;MACrG,IAAI,OAAOtC,WAAW,CAACuC,aAAa,KAAK,QAAQ,EAAEjC,QAAQ,CAACiC,aAAa,GAAGvC,WAAW,CAACuC,aAAa;;MAErG;MACA,IAAItD,OAAO,KAAK,KAAK,EAAE;QACnB,IAAIe,WAAW,CAACwC,gBAAgB,KAAK,IAAI,IAAI,OAAOxC,WAAW,CAACgC,OAAO,KAAK,QAAQ,EAAE;UAClF1B,QAAQ,CAACkC,gBAAgB,GAAG,IAAI;QACpC;QACA,IAAIxC,WAAW,CAACyC,gBAAgB,KAAK,IAAI,IAAI,OAAOzC,WAAW,CAACiC,OAAO,KAAK,QAAQ,EAAE;UAClF3B,QAAQ,CAACmC,gBAAgB,GAAG,IAAI;QACpC;MACJ,CAAC,MAAM,IAAIxD,OAAO,KAAK,KAAK,EAAE;QAC1B,IAAI,OAAOe,WAAW,CAACwC,gBAAgB,KAAK,QAAQ,IAAI,OAAOxC,WAAW,CAACwC,gBAAgB,KAAK,SAAS,EAAE;UACvGlC,QAAQ,CAACkC,gBAAgB,GAAGxC,WAAW,CAACwC,gBAAgB;QAC5D;QACA,IAAI,OAAOxC,WAAW,CAACyC,gBAAgB,KAAK,QAAQ,IAAI,OAAOzC,WAAW,CAACyC,gBAAgB,KAAK,SAAS,EAAE;UACvGnC,QAAQ,CAACmC,gBAAgB,GAAGzC,WAAW,CAACyC,gBAAgB;QAC5D;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,OAAe5B,oBAAoBA,CAACP,QAA2B,EAAEN,WAAoB,EAAQ;MACzF,IAAIA,WAAW,CAAC0C,QAAQ,KAAK,IAAI,EAAEpC,QAAQ,CAACoC,QAAQ,GAAG,IAAI;MAC3D,IAAI1C,WAAW,CAAC2C,SAAS,KAAK,IAAI,EAAErC,QAAQ,CAACqC,SAAS,GAAG,IAAI;MAC7D,IAAI3C,WAAW,CAAC4C,QAAQ,KAAK,IAAI,EAAEtC,QAAQ,CAACsC,QAAQ,GAAG,IAAI;MAC3D,IAAI5C,WAAW,CAAC6C,UAAU,KAAK,IAAI,EAAEvC,QAAQ,CAACuC,UAAU,GAAG,IAAI;IACnE;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAezB,kBAAkBA,CAC7Bd,QAA2B,EAC3BN,WAAoB,EACpBhB,WAAoB,EACpBC,OAAsB,EACtBC,KAAa,EACT;MACJ;MACA,IAAIc,WAAW,CAAC8C,aAAa,EAAE;QAC3B,IAAI7D,OAAO,KAAK,KAAK,IAAI,OAAOe,WAAW,CAAC8C,aAAa,KAAK,QAAQ,EAAE;UACpExC,QAAQ,CAACwC,aAAa,GAAG;YAAEC,YAAY,EAAE/C,WAAW,CAAC8C;UAAc,CAAC;QACxE,CAAC,MAAM,IAAI7D,OAAO,KAAK,KAAK,IAAI,OAAOe,WAAW,CAAC8C,aAAa,KAAK,QAAQ,EAAE;UAC3ExC,QAAQ,CAACwC,aAAa,GAAG;YACrBC,YAAY,EAAE/C,WAAW,CAAC8C,aAAa,CAACC,YAAY;YACpDC,OAAO,EAAEhD,WAAW,CAAC8C,aAAa,CAACE;UACvC,CAAC;QACL;MACJ;;MAEA;MACA,IAAIhC,KAAK,CAACC,OAAO,CAACjB,WAAW,CAACiD,KAAK,CAAC,EAAE;QAClC3C,QAAQ,CAAC2C,KAAK,GAAG,EAAE;QACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlD,WAAW,CAACiD,KAAK,CAACvC,MAAM,EAAEwC,CAAC,EAAE,EAAE;UAC/C5C,QAAQ,CAAC2C,KAAK,CAACE,IAAI,CAAC,IAAI,CAACtD,mBAAmB,CAACG,WAAW,CAACiD,KAAK,CAACC,CAAC,CAAC,EAAE,UAAUA,CAAC,EAAE,EAAE,KAAK,EAAElE,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9H;QACA,IAAI,CAACoB,QAAQ,CAACK,EAAE,EAAEL,QAAQ,CAACK,EAAE,GAAG,CAAC,CAAC;QAClCL,QAAQ,CAACK,EAAE,CAACQ,MAAM,GAAG,aAAa;MACtC;;MAEA;MACA,IAAIH,KAAK,CAACC,OAAO,CAACjB,WAAW,CAACoD,KAAK,CAAC,EAAE;QAClC9C,QAAQ,CAAC8C,KAAK,GAAG,EAAE;QACnB,KAAK,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGlD,WAAW,CAACoD,KAAK,CAAC1C,MAAM,EAAEwC,CAAC,EAAE,EAAE;UAC/C5C,QAAQ,CAAC8C,KAAK,CAACD,IAAI,CAAC,IAAI,CAACtD,mBAAmB,CAACG,WAAW,CAACoD,KAAK,CAACF,CAAC,CAAC,EAAE,aAAaA,CAAC,EAAE,EAAE,KAAK,EAAElE,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjI;MACJ;;MAEA;MACA,IAAIc,WAAW,CAACqD,GAAG,EAAE;QACjB/C,QAAQ,CAAC+C,GAAG,GAAG,IAAI,CAACxD,mBAAmB,CAACG,WAAW,CAACqD,GAAG,EAAE,YAAY,EAAE,KAAK,EAAErE,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC;MAClH;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,OAAemC,iBAAiBA,CAC5Bf,QAA2B,EAC3BN,WAAoB,EACpBhB,WAAoB,EACpBC,OAAsB,EACtBC,KAAa,EACbkB,IAAY,EACR;MACJ,IAAIA,IAAI,KAAK,QAAQ,EAAE;QACnB,IAAIJ,WAAW,CAAClB,UAAU,EAAE;UACxB,MAAMwE,aAAa,GAAGtC,KAAK,CAACC,OAAO,CAACjB,WAAW,CAACO,QAAQ,CAAC,GAAGP,WAAW,CAACO,QAAQ,GAAG,EAAE;UACrFD,QAAQ,CAACxB,UAAU,GAAG,IAAI,CAACD,aAAa,CAACmB,WAAW,CAAClB,UAAU,EAAEwE,aAAa,EAAEtE,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC;QACpH;QAEA,IAAIc,WAAW,CAACuD,oBAAoB,EAAE;UAClC,IAAIvD,WAAW,CAACuD,oBAAoB,KAAK,IAAI,EAAE;YAC3CjD,QAAQ,CAACiD,oBAAoB,GAAG,IAAI;UACxC,CAAC,MAAM,IAAI,OAAOvD,WAAW,CAACuD,oBAAoB,KAAK,QAAQ,EAAE;YAC7DjD,QAAQ,CAACiD,oBAAoB,GAAG,IAAI,CAAC1D,mBAAmB,CAACG,WAAW,CAACuD,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAEvE,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC;YAC3I,IAAI,CAACoB,QAAQ,CAACK,EAAE,EAAEL,QAAQ,CAACK,EAAE,GAAG,CAAC,CAAC;YAClCL,QAAQ,CAACK,EAAE,CAACQ,MAAM,GAAG,YAAY;UACrC;QACJ;;QAEA;QACA,IAAI,CAACnB,WAAW,CAAClB,UAAU,IAAI,CAACkB,WAAW,CAACuD,oBAAoB,EAAE;UAC9D,IAAI,CAACjD,QAAQ,CAACK,EAAE,EAAEL,QAAQ,CAACK,EAAE,GAAG,CAAC,CAAC;UAClCL,QAAQ,CAACK,EAAE,CAACQ,MAAM,GAAG,YAAY;QACrC;MACJ,CAAC,MAAM,IAAIf,IAAI,KAAK,OAAO,IAAIJ,WAAW,CAACwD,KAAK,EAAE;QAC9ClD,QAAQ,CAACkD,KAAK,GAAG,IAAI,CAAC3D,mBAAmB,CAACG,WAAW,CAACwD,KAAK,EAAE,OAAO,EAAE,KAAK,EAAExE,WAAW,EAAEC,OAAO,EAAEC,KAAK,GAAG,CAAC,CAAC;QAC7G,IAAIoB,QAAQ,CAACkD,KAAK,CAACpD,IAAI,KAAK,QAAQ,EAAE;UAClC,IAAI,CAACE,QAAQ,CAACK,EAAE,EAAEL,QAAQ,CAACK,EAAE,GAAG,CAAC,CAAC;UAClCL,QAAQ,CAACK,EAAE,CAACQ,MAAM,GAAG,YAAY;QACrC;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,OAAcS,gBAAgBA,CAAC6B,MAAe,EAAEC,MAAe,EAAW;MACtE,MAAMC,MAAM,GAAGtE,MAAM,CAACuE,MAAM,CAAC,CAAC,CAAC,EAAEH,MAAM,CAAC;MACxC,IAAIC,MAAM,KAAK,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE,OAAOC,MAAM;MAEhEtE,MAAM,CAACC,IAAI,CAACoE,MAAM,CAAC,CAACG,OAAO,CAACzE,GAAG,IAAI;QAC/B,IAAI4B,KAAK,CAACC,OAAO,CAACyC,MAAM,CAACtE,GAAG,CAAC,CAAC,EAAE;UAC5BuE,MAAM,CAACvE,GAAG,CAAC,GAAG4B,KAAK,CAACC,OAAO,CAACwC,MAAM,CAACrE,GAAG,CAAC,CAAC,GAClC4B,KAAK,CAAC8C,IAAI,CAAC,IAAIC,GAAG,CAAC,CAAC,GAAGN,MAAM,CAACrE,GAAG,CAAC,EAAE,GAAGsE,MAAM,CAACtE,GAAG,CAAC,CAAC,CAAC,CAAC,GACrD,CAAC,GAAGsE,MAAM,CAACtE,GAAG,CAAC,CAAC;QAC1B,CAAC,MAAM,IAAI,OAAOsE,MAAM,CAACtE,GAAG,CAAC,KAAK,QAAQ,IAAIsE,MAAM,CAACtE,GAAG,CAAC,KAAK,IAAI,EAAE;UAChE,IAAIqE,MAAM,CAACrE,GAAG,CAAC,IAAI,OAAOqE,MAAM,CAACrE,GAAG,CAAC,KAAK,QAAQ,EAAE;YAChDuE,MAAM,CAACvE,GAAG,CAAC,GAAG,IAAI,CAACwC,gBAAgB,CAAC6B,MAAM,CAACrE,GAAG,CAAC,EAAEsE,MAAM,CAACtE,GAAG,CAAC,CAAC;UACjE,CAAC,MAAM;YACHuE,MAAM,CAACvE,GAAG,CAAC,GAAGC,MAAM,CAACuE,MAAM,CAAC,CAAC,CAAC,EAAEF,MAAM,CAACtE,GAAG,CAAC,CAAC;UAChD;QACJ,CAAC,MAAM;UACHuE,MAAM,CAACvE,GAAG,CAAC,GAAGsE,MAAM,CAACtE,GAAG,CAAC;QAC7B;MACJ,CAAC,CAAC;MACF,OAAOuE,MAAM;IACjB;EACJ;EAAC,IAAAK,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAApF,qBAAA,GAAAA,qBAAA;EAAA,OAAAoF,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiPropertyMapper-dbg.js","names":["OpenApiRefResolver","___OpenApiRefResolver","OpenApiTypeMapper","___OpenApiTypeMapper","OpenApiUIMapper","___OpenApiUIMapper","OpenApiPropertyMapper","mapProperties","properties","requiredKeys","openApiRoot","version","depth","normalizedProps","key","Object","keys","isRequired","includes","propDef","$ref","resolved","resolve","mapPropertyMetadata","swaggerProp","keyName","currentProp","refResult","_resolveReference","_resolveAllOf","type","mapType","metaProp","required","uiDirective","build","length","ui","_applyConstraints","_applyStateModifiers","default","undefined","Array","isArray","enum","widget","_applyPolymorphism","_applyNestedTypes","resolvedType","inlineProp","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","maxLength","minLength","pattern","maximum","minimum","multipleOf","maxItems","minItems","uniqueItems","maxProperties","minProperties","exclusiveMaximum","exclusiveMinimum","readOnly","writeOnly","nullable","deprecated","discriminator","propertyName","mapping","oneOf","i","push","anyOf","not","childRequired","additionalProperties","items","target","source","output","assign","forEach","from","Set","__exports","__esModule"],"sources":["OpenApiPropertyMapper.ts"],"sourcesContent":["/**\n * @file OpenApiPropertyMapper.ts\n * @description Extracts and maps OpenAPI properties into MetaUI IPropertyMetadata.\n */\n\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\nimport { OpenApiTypeMapper } from \"../OpenApiTypeMapper\";\nimport { OpenApiUIMapper } from \"../OpenApiUIMapper\";\n\n/**\n * Utility class responsible for extracting and mapping OpenAPI properties into the native MetaUI IPropertyMetadata schema format.\n * \n * @public\n */\nexport class OpenApiPropertyMapper {\n /**\n * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.\n * \n * @param {any} properties The OpenAPI properties block.\n * @param {string[]} requiredKeys Array of required property keys.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter to prevent stack overflows on circular refs.\n * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.\n */\n public static mapProperties(\n properties: any, \n requiredKeys: string[], \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): Record<string, IPropertyMetadata> {\n const normalizedProps: Record<string, IPropertyMetadata> = {};\n \n if (depth > 8) return normalizedProps;\n\n for (const key of Object.keys(properties)) {\n const isRequired = requiredKeys.includes(key);\n let propDef = properties[key];\n\n if (propDef.$ref) {\n const resolved = OpenApiRefResolver.resolve(propDef.$ref, openApiRoot);\n if (resolved) {\n propDef = { ...resolved, ...propDef };\n }\n }\n\n normalizedProps[key] = this.mapPropertyMetadata(propDef, key, isRequired, openApiRoot, version, depth + 1);\n }\n \n return normalizedProps;\n }\n\n /**\n * Translates a single OpenAPI property schema block into a MetaUI IPropertyMetadata block.\n * Delegates specific mapping tasks to focused private methods to adhere to SRP.\n * \n * @param {any} swaggerProp The specific OpenAPI property schema to map.\n * @param {string} keyName The key/name of this property.\n * @param {boolean} isRequired Whether this property is strictly required.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter.\n * @returns {IPropertyMetadata} The normalized MetaUI property metadata.\n */\n public static mapPropertyMetadata(\n swaggerProp: any, \n keyName: string, \n isRequired: boolean, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): IPropertyMetadata {\n let currentProp = swaggerProp as any;\n\n // 1. Resolve References\n const refResult = this._resolveReference(currentProp, keyName, isRequired, openApiRoot, version, depth);\n if (refResult) {\n return refResult;\n }\n\n // 2. Resolve Composition (allOf)\n currentProp = this._resolveAllOf(currentProp, openApiRoot);\n\n // 3. Base Initialization\n const type = OpenApiTypeMapper.mapType(currentProp.type);\n const metaProp: IPropertyMetadata = {\n type: type,\n required: isRequired\n };\n\n // 4. UI Directive Binding\n const uiDirective = OpenApiUIMapper.build(currentProp, keyName);\n if (Object.keys(uiDirective).length > 0) {\n metaProp.ui = uiDirective;\n }\n\n // 5. Constraints & State Modifiers\n this._applyConstraints(metaProp, currentProp, version);\n this._applyStateModifiers(metaProp, currentProp);\n\n if (currentProp.default !== undefined) {\n metaProp.default = currentProp.default;\n }\n\n if (Array.isArray(currentProp.enum)) {\n metaProp.enum = currentProp.enum;\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dropdown\";\n }\n\n // 6. Polymorphism & Nesting\n this._applyPolymorphism(metaProp, currentProp, openApiRoot, version, depth);\n this._applyNestedTypes(metaProp, currentProp, openApiRoot, version, depth, type);\n\n return metaProp;\n }\n\n /**\n * Attempts to resolve a $ref block. If it resolves to a primitive, it inlines it.\n * Otherwise, it returns a reference widget payload.\n * \n * @param {any} currentProp The current schema property definition.\n * @param {string} keyName The structural key name.\n * @param {boolean} isRequired Whether the property is strictly required.\n * @param {any} openApiRoot The root API definition for relative resolution.\n * @param {\"2.0\" | \"3.0\"} version The structural version context.\n * @param {number} depth The recursive resolution depth.\n * @returns {IPropertyMetadata | null} Resolved metadata, or null if no reference exists.\n * @private\n */\n private static _resolveReference(\n currentProp: any, \n keyName: string, \n isRequired: boolean, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): IPropertyMetadata | null {\n if (!currentProp.$ref) {\n return null;\n }\n\n const resolved = OpenApiRefResolver.resolve(currentProp.$ref, openApiRoot);\n const resolvedType = currentProp.type || (resolved && (resolved as any).type);\n \n if (resolvedType && [\"string\", \"number\", \"integer\", \"boolean\"].includes(resolvedType)) {\n const inlineProp = { ...(resolved as any), ...currentProp };\n delete inlineProp.$ref;\n return this.mapPropertyMetadata(inlineProp, keyName, isRequired, openApiRoot, version, depth + 1);\n }\n\n return {\n type: \"object\",\n $ref: currentProp.$ref,\n required: isRequired,\n ui: { widget: \"reference\" }\n };\n }\n\n /**\n * Evaluates and merges 'allOf' arrays into a unified schema definition.\n * \n * @param {any} currentProp The structural property definition containing potential aggregations.\n * @param {any} openApiRoot The base schema for deep resolution.\n * @returns {any} A flattened and merged schema entity.\n * @private\n */\n private static _resolveAllOf(currentProp: any, openApiRoot: any): unknown {\n if (!Array.isArray(currentProp.allOf)) {\n return currentProp;\n }\n \n let merged = { ...currentProp };\n delete merged.allOf;\n for (const subSchema of currentProp.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = this.deepMergeSchemas(merged, resolvedSub);\n }\n return merged;\n }\n\n /**\n * Extracts structural constraints (min/max, regex, etc.) and maps them natively to the output metadata.\n * \n * @param {IPropertyMetadata} metaProp The target metadata definition block.\n * @param {any} currentProp The source OpenAPI schema chunk.\n * @param {\"2.0\" | \"3.0\"} version The version, utilized for nuanced boundary matching.\n * @private\n */\n private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: any, version: \"2.0\" | \"3.0\"): void {\n // String Constraints\n if (typeof currentProp.maxLength === \"number\") metaProp.maxLength = currentProp.maxLength;\n if (typeof currentProp.minLength === \"number\") metaProp.minLength = currentProp.minLength;\n if (typeof currentProp.pattern === \"string\") metaProp.pattern = currentProp.pattern;\n\n // Numeric Constraints\n if (typeof currentProp.maximum === \"number\") metaProp.maximum = currentProp.maximum;\n if (typeof currentProp.minimum === \"number\") metaProp.minimum = currentProp.minimum;\n if (typeof currentProp.multipleOf === \"number\") metaProp.multipleOf = currentProp.multipleOf;\n \n // Array Constraints\n if (typeof currentProp.maxItems === \"number\") metaProp.maxItems = currentProp.maxItems;\n if (typeof currentProp.minItems === \"number\") metaProp.minItems = currentProp.minItems;\n if (typeof currentProp.uniqueItems === \"boolean\") metaProp.uniqueItems = currentProp.uniqueItems;\n\n // Object Constraints\n if (typeof currentProp.maxProperties === \"number\") metaProp.maxProperties = currentProp.maxProperties;\n if (typeof currentProp.minProperties === \"number\") metaProp.minProperties = currentProp.minProperties;\n\n // Exclusive Min/Max version-specific logic\n if (version === \"2.0\") {\n if (currentProp.exclusiveMaximum === true && typeof currentProp.maximum === \"number\") {\n metaProp.exclusiveMaximum = true;\n }\n if (currentProp.exclusiveMinimum === true && typeof currentProp.minimum === \"number\") {\n metaProp.exclusiveMinimum = true;\n }\n } else if (version === \"3.0\") {\n if (typeof currentProp.exclusiveMaximum === \"number\" || typeof currentProp.exclusiveMaximum === \"boolean\") {\n metaProp.exclusiveMaximum = currentProp.exclusiveMaximum;\n }\n if (typeof currentProp.exclusiveMinimum === \"number\" || typeof currentProp.exclusiveMinimum === \"boolean\") {\n metaProp.exclusiveMinimum = currentProp.exclusiveMinimum;\n }\n }\n }\n\n /**\n * Extracts operational state flags like readOnly or nullable mapping them onto the internal specification.\n * \n * @param {IPropertyMetadata} metaProp Target native specification.\n * @param {any} currentProp Source raw schema payload.\n * @private\n */\n private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: any): void {\n if (currentProp.readOnly === true) metaProp.readOnly = true;\n if (currentProp.writeOnly === true) metaProp.writeOnly = true;\n if (currentProp.nullable === true) metaProp.nullable = true;\n if (currentProp.deprecated === true) metaProp.deprecated = true;\n }\n\n /**\n * Extracts and maps polymorphic discriminator and union types (oneOf/anyOf) to MetaUI structural directives.\n * \n * @param {IPropertyMetadata} metaProp Native MetaUI definition tree.\n * @param {any} currentProp Raw schema block.\n * @param {any} openApiRoot Master OpenAPI root.\n * @param {\"2.0\" | \"3.0\"} version Protocol version identifier.\n * @param {number} depth Internal depth tracker.\n * @private\n */\n private static _applyPolymorphism(\n metaProp: IPropertyMetadata, \n currentProp: any, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): void {\n // Discriminator handling\n if (currentProp.discriminator) {\n if (version === \"2.0\" && typeof currentProp.discriminator === \"string\") {\n metaProp.discriminator = { propertyName: currentProp.discriminator };\n } else if (version === \"3.0\" && typeof currentProp.discriminator === \"object\") {\n metaProp.discriminator = {\n propertyName: currentProp.discriminator.propertyName,\n mapping: currentProp.discriminator.mapping\n };\n }\n }\n\n // Handle oneOf polymorphic mapping\n if (Array.isArray(currentProp.oneOf)) {\n metaProp.oneOf = [];\n for (let i = 0; i < currentProp.oneOf.length; i++) {\n metaProp.oneOf.push(this.mapPropertyMetadata(currentProp.oneOf[i], `Variant${i}`, false, openApiRoot, version, depth + 1));\n }\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"polymorphic\";\n }\n \n // Handle anyOf mapping\n if (Array.isArray(currentProp.anyOf)) {\n metaProp.anyOf = [];\n for (let i = 0; i < currentProp.anyOf.length; i++) {\n metaProp.anyOf.push(this.mapPropertyMetadata(currentProp.anyOf[i], `AnyVariant${i}`, false, openApiRoot, version, depth + 1));\n }\n }\n\n // Handle not mapping\n if (currentProp.not) {\n metaProp.not = this.mapPropertyMetadata(currentProp.not, `NotVariant`, false, openApiRoot, version, depth + 1);\n }\n }\n\n /**\n * Recursively traverses into nested objects and arrays constructing the structural node trees.\n * \n * @param {IPropertyMetadata} metaProp The localized destination structure.\n * @param {any} currentProp The source chunk representing a complex element.\n * @param {any} openApiRoot The OpenAPI dictionary context.\n * @param {\"2.0\" | \"3.0\"} version System schema version.\n * @param {number} depth Invocation stack depth.\n * @param {string} type Normalized atomic structure type.\n * @private\n */\n private static _applyNestedTypes(\n metaProp: IPropertyMetadata, \n currentProp: any, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number,\n type: string\n ): void {\n if (type === \"object\") {\n if (currentProp.properties) {\n const childRequired = Array.isArray(currentProp.required) ? currentProp.required : [];\n metaProp.properties = this.mapProperties(currentProp.properties, childRequired, openApiRoot, version, depth + 1);\n }\n \n if (currentProp.additionalProperties) {\n if (currentProp.additionalProperties === true) {\n metaProp.additionalProperties = true;\n } else if (typeof currentProp.additionalProperties === \"object\") {\n metaProp.additionalProperties = this.mapPropertyMetadata(currentProp.additionalProperties, \"value\", false, openApiRoot, version, depth + 1);\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dictionary\";\n }\n }\n \n // Opaque JSON object definition mapping\n if (!currentProp.properties && !currentProp.additionalProperties) {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"codeEditor\";\n }\n } else if (type === \"array\" && currentProp.items) {\n metaProp.items = this.mapPropertyMetadata(currentProp.items, \"items\", false, openApiRoot, version, depth + 1);\n if (metaProp.items.type !== \"object\") {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"multiInput\";\n }\n }\n }\n\n /**\n * Recursively deep-merges two OpenAPI objects, ensuring array boundaries and nested structures are preserved.\n * \n * @param {any} target The target base object.\n * @param {any} source The source object providing override details.\n * @returns {any} The synthesized output object.\n */\n public static deepMergeSchemas(target: any, source: any): any {\n const output: any = Object.assign({}, target);\n if (source === null || typeof source !== \"object\") return output;\n\n Object.keys(source).forEach(key => {\n if (Array.isArray(source[key])) {\n output[key] = Array.isArray(target[key]) \n ? Array.from(new Set([...target[key], ...source[key]])) \n : [...source[key]];\n } else if (typeof source[key] === \"object\" && source[key] !== null) {\n if (target[key] && typeof target[key] === \"object\") {\n output[key] = this.deepMergeSchemas(target[key], source[key]);\n } else {\n output[key] = Object.assign({}, source[key]);\n }\n } else {\n output[key] = source[key];\n }\n });\n return output;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -13,14 +13,14 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper
13
13
  /**
14
14
  * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.
15
15
  *
16
- * @param {Record<string, any>} properties The OpenAPI properties block.
16
+ * @param {any} properties The OpenAPI properties block.
17
17
  * @param {string[]} requiredKeys Array of required property keys.
18
18
  * @param {any} openApiRoot The OpenAPI root document for resolving references.
19
19
  * @param {"2.0" | "3.0"} version The OpenAPI version.
20
20
  * @param {number} [depth=0] Recursion depth limiter to prevent stack overflows on circular refs.
21
21
  * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.
22
22
  */
23
- static mapProperties(properties: Record<string, any>, requiredKeys: string[], openApiRoot: unknown, version: "2.0" | "3.0", depth?: number): Record<string, IPropertyMetadata>;
23
+ static mapProperties(properties: any, requiredKeys: string[], openApiRoot: any, version: "2.0" | "3.0", depth?: number): Record<string, IPropertyMetadata>;
24
24
  /**
25
25
  * Translates a single OpenAPI property schema block into a MetaUI IPropertyMetadata block.
26
26
  * Delegates specific mapping tasks to focused private methods to adhere to SRP.
@@ -33,7 +33,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper
33
33
  * @param {number} [depth=0] Recursion depth limiter.
34
34
  * @returns {IPropertyMetadata} The normalized MetaUI property metadata.
35
35
  */
36
- static mapPropertyMetadata(swaggerProp: unknown, keyName: string, isRequired: boolean, openApiRoot: unknown, version: "2.0" | "3.0", depth?: number): IPropertyMetadata;
36
+ static mapPropertyMetadata(swaggerProp: any, keyName: string, isRequired: boolean, openApiRoot: any, version: "2.0" | "3.0", depth?: number): IPropertyMetadata;
37
37
  /**
38
38
  * Attempts to resolve a $ref block. If it resolves to a primitive, it inlines it.
39
39
  * Otherwise, it returns a reference widget payload.
@@ -104,7 +104,7 @@ declare module "nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper
104
104
  * @param {any} source The source object providing override details.
105
105
  * @returns {any} The synthesized output object.
106
106
  */
107
- static deepMergeSchemas(target: unknown, source: unknown): unknown;
107
+ static deepMergeSchemas(target: any, source: any): any;
108
108
  }
109
109
  }
110
110
  //# sourceMappingURL=OpenApiPropertyMapper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiPropertyMapper.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kEAAkE,CAAC;IAClF;;;OAGG;IAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAKlF;;;;OAIG;IACH,MAAa,qBAAqB;QAC9B;;;;;;;;;WASG;eACW,aAAa,CACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,KAAK,GAAG,KAAK,EACtB,KAAK,GAAE,MAAU,GAClB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;QAsBpC;;;;;;;;;;;WAWG;eACW,mBAAmB,CAC7B,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,KAAK,GAAG,KAAK,EACtB,KAAK,GAAE,MAAU,GAClB,iBAAiB;QA8CpB;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;QA6BhC;;;;;;;WAOG;QACH,OAAO,CAAC,MAAM,CAAC,aAAa;QAiB5B;;;;;;;WAOG;QACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAsChC;;;;;;WAMG;QACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;QAOnC;;;;;;;;;WASG;QACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;QA2CjC;;;;;;;;;;WAUG;QACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAsChC;;;;;;WAMG;eACW,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;KAqB5E;CAEA"}
1
+ {"version":3,"file":"OpenApiPropertyMapper.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kEAAkE,CAAC;IAClF;;;OAGG;IAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAKlF;;;;OAIG;IACH,MAAa,qBAAqB;QAC9B;;;;;;;;;WASG;eACW,aAAa,CACvB,UAAU,EAAE,GAAG,EACf,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,KAAK,GAAG,KAAK,EACtB,KAAK,GAAE,MAAU,GAClB,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;QAsBpC;;;;;;;;;;;WAWG;eACW,mBAAmB,CAC7B,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,KAAK,GAAG,KAAK,EACtB,KAAK,GAAE,MAAU,GAClB,iBAAiB;QA8CpB;;;;;;;;;;;;WAYG;QACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;QA6BhC;;;;;;;WAOG;QACH,OAAO,CAAC,MAAM,CAAC,aAAa;QAiB5B;;;;;;;WAOG;QACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAsChC;;;;;;WAMG;QACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;QAOnC;;;;;;;;;WASG;QACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;QA2CjC;;;;;;;;;;WAUG;QACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;QAsChC;;;;;;WAMG;eACW,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,GAAG;KAqBhE;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApiPropertyMapper.js","names":["OpenApiRefResolver","___OpenApiRefResolver","OpenApiTypeMapper","___OpenApiTypeMapper","OpenApiUIMapper","___OpenApiUIMapper","OpenApiPropertyMapper","mapProperties","properties","requiredKeys","openApiRoot","version","depth","normalizedProps","key","Object","keys","isRequired","includes","propDef","$ref","resolved","resolve","this","mapPropertyMetadata","swaggerProp","keyName","currentProp","refResult","_resolveReference","_resolveAllOf","type","mapType","metaProp","required","uiDirective","build","length","ui","_applyConstraints","_applyStateModifiers","default","undefined","Array","isArray","enum","widget","_applyPolymorphism","_applyNestedTypes","resolvedType","inlineProp","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","maxLength","minLength","pattern","maximum","minimum","multipleOf","maxItems","minItems","uniqueItems","maxProperties","minProperties","exclusiveMaximum","exclusiveMinimum","readOnly","writeOnly","nullable","deprecated","discriminator","propertyName","mapping","oneOf","i","push","anyOf","not","childRequired","additionalProperties","items","target","source","output","assign","forEach","from","Set","__exports","__esModule"],"sources":["OpenApiPropertyMapper.ts"],"sourcesContent":["/**\n * @file OpenApiPropertyMapper.ts\n * @description Extracts and maps OpenAPI properties into MetaUI IPropertyMetadata.\n */\n\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\nimport { OpenApiTypeMapper } from \"../OpenApiTypeMapper\";\nimport { OpenApiUIMapper } from \"../OpenApiUIMapper\";\n\n/**\n * Utility class responsible for extracting and mapping OpenAPI properties into the native MetaUI IPropertyMetadata schema format.\n * \n * @public\n */\nexport class OpenApiPropertyMapper {\n /**\n * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.\n * \n * @param {Record<string, any>} properties The OpenAPI properties block.\n * @param {string[]} requiredKeys Array of required property keys.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter to prevent stack overflows on circular refs.\n * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.\n */\n public static mapProperties(\n properties: Record<string, any>, \n requiredKeys: string[], \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): Record<string, IPropertyMetadata> {\n const normalizedProps: Record<string, IPropertyMetadata> = {};\n \n if (depth > 8) return normalizedProps;\n\n for (const key of Object.keys(properties)) {\n const isRequired = requiredKeys.includes(key);\n let propDef = properties[key];\n\n if (propDef.$ref) {\n const resolved = OpenApiRefResolver.resolve(propDef.$ref, openApiRoot);\n if (resolved) {\n propDef = { ...resolved, ...propDef };\n }\n }\n\n normalizedProps[key] = this.mapPropertyMetadata(propDef, key, isRequired, openApiRoot, version, depth + 1);\n }\n \n return normalizedProps;\n }\n\n /**\n * Translates a single OpenAPI property schema block into a MetaUI IPropertyMetadata block.\n * Delegates specific mapping tasks to focused private methods to adhere to SRP.\n * \n * @param {any} swaggerProp The specific OpenAPI property schema to map.\n * @param {string} keyName The key/name of this property.\n * @param {boolean} isRequired Whether this property is strictly required.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter.\n * @returns {IPropertyMetadata} The normalized MetaUI property metadata.\n */\n public static mapPropertyMetadata(\n swaggerProp: unknown, \n keyName: string, \n isRequired: boolean, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): IPropertyMetadata {\n let currentProp = swaggerProp;\n\n // 1. Resolve References\n const refResult = this._resolveReference(currentProp, keyName, isRequired, openApiRoot, version, depth);\n if (refResult) {\n return refResult;\n }\n\n // 2. Resolve Composition (allOf)\n currentProp = this._resolveAllOf(currentProp, openApiRoot);\n\n // 3. Base Initialization\n const type = OpenApiTypeMapper.mapType(currentProp.type);\n const metaProp: IPropertyMetadata = {\n type: type,\n required: isRequired\n };\n\n // 4. UI Directive Binding\n const uiDirective = OpenApiUIMapper.build(currentProp, keyName);\n if (Object.keys(uiDirective).length > 0) {\n metaProp.ui = uiDirective;\n }\n\n // 5. Constraints & State Modifiers\n this._applyConstraints(metaProp, currentProp, version);\n this._applyStateModifiers(metaProp, currentProp);\n\n if (currentProp.default !== undefined) {\n metaProp.default = currentProp.default;\n }\n\n if (Array.isArray(currentProp.enum)) {\n metaProp.enum = currentProp.enum;\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dropdown\";\n }\n\n // 6. Polymorphism & Nesting\n this._applyPolymorphism(metaProp, currentProp, openApiRoot, version, depth);\n this._applyNestedTypes(metaProp, currentProp, openApiRoot, version, depth, type);\n\n return metaProp;\n }\n\n /**\n * Attempts to resolve a $ref block. If it resolves to a primitive, it inlines it.\n * Otherwise, it returns a reference widget payload.\n * \n * @param {any} currentProp The current schema property definition.\n * @param {string} keyName The structural key name.\n * @param {boolean} isRequired Whether the property is strictly required.\n * @param {any} openApiRoot The root API definition for relative resolution.\n * @param {\"2.0\" | \"3.0\"} version The structural version context.\n * @param {number} depth The recursive resolution depth.\n * @returns {IPropertyMetadata | null} Resolved metadata, or null if no reference exists.\n * @private\n */\n private static _resolveReference(\n currentProp: unknown, \n keyName: string, \n isRequired: boolean, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): IPropertyMetadata | null {\n if (!currentProp.$ref) {\n return null;\n }\n\n const resolved = OpenApiRefResolver.resolve(currentProp.$ref, openApiRoot);\n const resolvedType = currentProp.type || (resolved && resolved.type);\n \n if (resolvedType && [\"string\", \"number\", \"integer\", \"boolean\"].includes(resolvedType)) {\n const inlineProp = { ...resolved, ...currentProp };\n delete inlineProp.$ref;\n return this.mapPropertyMetadata(inlineProp, keyName, isRequired, openApiRoot, version, depth + 1);\n }\n\n return {\n type: \"object\",\n $ref: currentProp.$ref,\n required: isRequired,\n ui: { widget: \"reference\" }\n };\n }\n\n /**\n * Evaluates and merges 'allOf' arrays into a unified schema definition.\n * \n * @param {any} currentProp The structural property definition containing potential aggregations.\n * @param {any} openApiRoot The base schema for deep resolution.\n * @returns {any} A flattened and merged schema entity.\n * @private\n */\n private static _resolveAllOf(currentProp: unknown, openApiRoot: unknown): unknown {\n if (!Array.isArray(currentProp.allOf)) {\n return currentProp;\n }\n \n let merged = { ...currentProp };\n delete merged.allOf;\n for (const subSchema of currentProp.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = this.deepMergeSchemas(merged, resolvedSub);\n }\n return merged;\n }\n\n /**\n * Extracts structural constraints (min/max, regex, etc.) and maps them natively to the output metadata.\n * \n * @param {IPropertyMetadata} metaProp The target metadata definition block.\n * @param {any} currentProp The source OpenAPI schema chunk.\n * @param {\"2.0\" | \"3.0\"} version The version, utilized for nuanced boundary matching.\n * @private\n */\n private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: unknown, version: \"2.0\" | \"3.0\"): void {\n // String Constraints\n if (typeof currentProp.maxLength === \"number\") metaProp.maxLength = currentProp.maxLength;\n if (typeof currentProp.minLength === \"number\") metaProp.minLength = currentProp.minLength;\n if (typeof currentProp.pattern === \"string\") metaProp.pattern = currentProp.pattern;\n\n // Numeric Constraints\n if (typeof currentProp.maximum === \"number\") metaProp.maximum = currentProp.maximum;\n if (typeof currentProp.minimum === \"number\") metaProp.minimum = currentProp.minimum;\n if (typeof currentProp.multipleOf === \"number\") metaProp.multipleOf = currentProp.multipleOf;\n \n // Array Constraints\n if (typeof currentProp.maxItems === \"number\") metaProp.maxItems = currentProp.maxItems;\n if (typeof currentProp.minItems === \"number\") metaProp.minItems = currentProp.minItems;\n if (typeof currentProp.uniqueItems === \"boolean\") metaProp.uniqueItems = currentProp.uniqueItems;\n\n // Object Constraints\n if (typeof currentProp.maxProperties === \"number\") metaProp.maxProperties = currentProp.maxProperties;\n if (typeof currentProp.minProperties === \"number\") metaProp.minProperties = currentProp.minProperties;\n\n // Exclusive Min/Max version-specific logic\n if (version === \"2.0\") {\n if (currentProp.exclusiveMaximum === true && typeof currentProp.maximum === \"number\") {\n metaProp.exclusiveMaximum = true;\n }\n if (currentProp.exclusiveMinimum === true && typeof currentProp.minimum === \"number\") {\n metaProp.exclusiveMinimum = true;\n }\n } else if (version === \"3.0\") {\n if (typeof currentProp.exclusiveMaximum === \"number\" || typeof currentProp.exclusiveMaximum === \"boolean\") {\n metaProp.exclusiveMaximum = currentProp.exclusiveMaximum;\n }\n if (typeof currentProp.exclusiveMinimum === \"number\" || typeof currentProp.exclusiveMinimum === \"boolean\") {\n metaProp.exclusiveMinimum = currentProp.exclusiveMinimum;\n }\n }\n }\n\n /**\n * Extracts operational state flags like readOnly or nullable mapping them onto the internal specification.\n * \n * @param {IPropertyMetadata} metaProp Target native specification.\n * @param {any} currentProp Source raw schema payload.\n * @private\n */\n private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: unknown): void {\n if (currentProp.readOnly === true) metaProp.readOnly = true;\n if (currentProp.writeOnly === true) metaProp.writeOnly = true;\n if (currentProp.nullable === true) metaProp.nullable = true;\n if (currentProp.deprecated === true) metaProp.deprecated = true;\n }\n\n /**\n * Extracts and maps polymorphic discriminator and union types (oneOf/anyOf) to MetaUI structural directives.\n * \n * @param {IPropertyMetadata} metaProp Native MetaUI definition tree.\n * @param {any} currentProp Raw schema block.\n * @param {any} openApiRoot Master OpenAPI root.\n * @param {\"2.0\" | \"3.0\"} version Protocol version identifier.\n * @param {number} depth Internal depth tracker.\n * @private\n */\n private static _applyPolymorphism(\n metaProp: IPropertyMetadata, \n currentProp: unknown, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): void {\n // Discriminator handling\n if (currentProp.discriminator) {\n if (version === \"2.0\" && typeof currentProp.discriminator === \"string\") {\n metaProp.discriminator = { propertyName: currentProp.discriminator };\n } else if (version === \"3.0\" && typeof currentProp.discriminator === \"object\") {\n metaProp.discriminator = {\n propertyName: currentProp.discriminator.propertyName,\n mapping: currentProp.discriminator.mapping\n };\n }\n }\n\n // Handle oneOf polymorphic mapping\n if (Array.isArray(currentProp.oneOf)) {\n metaProp.oneOf = [];\n for (let i = 0; i < currentProp.oneOf.length; i++) {\n metaProp.oneOf.push(this.mapPropertyMetadata(currentProp.oneOf[i], `Variant${i}`, false, openApiRoot, version, depth + 1));\n }\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"polymorphic\";\n }\n \n // Handle anyOf mapping\n if (Array.isArray(currentProp.anyOf)) {\n metaProp.anyOf = [];\n for (let i = 0; i < currentProp.anyOf.length; i++) {\n metaProp.anyOf.push(this.mapPropertyMetadata(currentProp.anyOf[i], `AnyVariant${i}`, false, openApiRoot, version, depth + 1));\n }\n }\n\n // Handle not mapping\n if (currentProp.not) {\n metaProp.not = this.mapPropertyMetadata(currentProp.not, `NotVariant`, false, openApiRoot, version, depth + 1);\n }\n }\n\n /**\n * Recursively traverses into nested objects and arrays constructing the structural node trees.\n * \n * @param {IPropertyMetadata} metaProp The localized destination structure.\n * @param {any} currentProp The source chunk representing a complex element.\n * @param {any} openApiRoot The OpenAPI dictionary context.\n * @param {\"2.0\" | \"3.0\"} version System schema version.\n * @param {number} depth Invocation stack depth.\n * @param {string} type Normalized atomic structure type.\n * @private\n */\n private static _applyNestedTypes(\n metaProp: IPropertyMetadata, \n currentProp: unknown, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number,\n type: string\n ): void {\n if (type === \"object\") {\n if (currentProp.properties) {\n const childRequired = Array.isArray(currentProp.required) ? currentProp.required : [];\n metaProp.properties = this.mapProperties(currentProp.properties, childRequired, openApiRoot, version, depth + 1);\n }\n \n if (currentProp.additionalProperties) {\n if (currentProp.additionalProperties === true) {\n metaProp.additionalProperties = true;\n } else if (typeof currentProp.additionalProperties === \"object\") {\n metaProp.additionalProperties = this.mapPropertyMetadata(currentProp.additionalProperties, \"value\", false, openApiRoot, version, depth + 1);\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dictionary\";\n }\n }\n \n // Opaque JSON object definition mapping\n if (!currentProp.properties && !currentProp.additionalProperties) {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"codeEditor\";\n }\n } else if (type === \"array\" && currentProp.items) {\n metaProp.items = this.mapPropertyMetadata(currentProp.items, \"items\", false, openApiRoot, version, depth + 1);\n if (metaProp.items.type !== \"object\") {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"multiInput\";\n }\n }\n }\n\n /**\n * Recursively deep-merges two OpenAPI objects, ensuring array boundaries and nested structures are preserved.\n * \n * @param {any} target The target base object.\n * @param {any} source The source object providing override details.\n * @returns {any} The synthesized output object.\n */\n public static deepMergeSchemas(target: unknown, source: unknown): unknown {\n const output = Object.assign({}, target);\n if (source === null || typeof source !== \"object\") return output;\n\n Object.keys(source).forEach(key => {\n if (Array.isArray(source[key])) {\n output[key] = Array.isArray(target[key]) \n ? Array.from(new Set([...target[key], ...source[key]])) \n : [...source[key]];\n } else if (typeof source[key] === \"object\" && source[key] !== null) {\n if (target[key] && typeof target[key] === \"object\") {\n output[key] = this.deepMergeSchemas(target[key], source[key]);\n } else {\n output[key] = Object.assign({}, source[key]);\n }\n } else {\n output[key] = source[key];\n }\n });\n return output;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApiPropertyMapper.js","names":["OpenApiRefResolver","___OpenApiRefResolver","OpenApiTypeMapper","___OpenApiTypeMapper","OpenApiUIMapper","___OpenApiUIMapper","OpenApiPropertyMapper","mapProperties","properties","requiredKeys","openApiRoot","version","depth","normalizedProps","key","Object","keys","isRequired","includes","propDef","$ref","resolved","resolve","this","mapPropertyMetadata","swaggerProp","keyName","currentProp","refResult","_resolveReference","_resolveAllOf","type","mapType","metaProp","required","uiDirective","build","length","ui","_applyConstraints","_applyStateModifiers","default","undefined","Array","isArray","enum","widget","_applyPolymorphism","_applyNestedTypes","resolvedType","inlineProp","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","maxLength","minLength","pattern","maximum","minimum","multipleOf","maxItems","minItems","uniqueItems","maxProperties","minProperties","exclusiveMaximum","exclusiveMinimum","readOnly","writeOnly","nullable","deprecated","discriminator","propertyName","mapping","oneOf","i","push","anyOf","not","childRequired","additionalProperties","items","target","source","output","assign","forEach","from","Set","__exports","__esModule"],"sources":["OpenApiPropertyMapper.ts"],"sourcesContent":["/**\n * @file OpenApiPropertyMapper.ts\n * @description Extracts and maps OpenAPI properties into MetaUI IPropertyMetadata.\n */\n\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\nimport { OpenApiTypeMapper } from \"../OpenApiTypeMapper\";\nimport { OpenApiUIMapper } from \"../OpenApiUIMapper\";\n\n/**\n * Utility class responsible for extracting and mapping OpenAPI properties into the native MetaUI IPropertyMetadata schema format.\n * \n * @public\n */\nexport class OpenApiPropertyMapper {\n /**\n * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.\n * \n * @param {any} properties The OpenAPI properties block.\n * @param {string[]} requiredKeys Array of required property keys.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter to prevent stack overflows on circular refs.\n * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.\n */\n public static mapProperties(\n properties: any, \n requiredKeys: string[], \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): Record<string, IPropertyMetadata> {\n const normalizedProps: Record<string, IPropertyMetadata> = {};\n \n if (depth > 8) return normalizedProps;\n\n for (const key of Object.keys(properties)) {\n const isRequired = requiredKeys.includes(key);\n let propDef = properties[key];\n\n if (propDef.$ref) {\n const resolved = OpenApiRefResolver.resolve(propDef.$ref, openApiRoot);\n if (resolved) {\n propDef = { ...resolved, ...propDef };\n }\n }\n\n normalizedProps[key] = this.mapPropertyMetadata(propDef, key, isRequired, openApiRoot, version, depth + 1);\n }\n \n return normalizedProps;\n }\n\n /**\n * Translates a single OpenAPI property schema block into a MetaUI IPropertyMetadata block.\n * Delegates specific mapping tasks to focused private methods to adhere to SRP.\n * \n * @param {any} swaggerProp The specific OpenAPI property schema to map.\n * @param {string} keyName The key/name of this property.\n * @param {boolean} isRequired Whether this property is strictly required.\n * @param {any} openApiRoot The OpenAPI root document for resolving references.\n * @param {\"2.0\" | \"3.0\"} version The OpenAPI version.\n * @param {number} [depth=0] Recursion depth limiter.\n * @returns {IPropertyMetadata} The normalized MetaUI property metadata.\n */\n public static mapPropertyMetadata(\n swaggerProp: any, \n keyName: string, \n isRequired: boolean, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number = 0\n ): IPropertyMetadata {\n let currentProp = swaggerProp as any;\n\n // 1. Resolve References\n const refResult = this._resolveReference(currentProp, keyName, isRequired, openApiRoot, version, depth);\n if (refResult) {\n return refResult;\n }\n\n // 2. Resolve Composition (allOf)\n currentProp = this._resolveAllOf(currentProp, openApiRoot);\n\n // 3. Base Initialization\n const type = OpenApiTypeMapper.mapType(currentProp.type);\n const metaProp: IPropertyMetadata = {\n type: type,\n required: isRequired\n };\n\n // 4. UI Directive Binding\n const uiDirective = OpenApiUIMapper.build(currentProp, keyName);\n if (Object.keys(uiDirective).length > 0) {\n metaProp.ui = uiDirective;\n }\n\n // 5. Constraints & State Modifiers\n this._applyConstraints(metaProp, currentProp, version);\n this._applyStateModifiers(metaProp, currentProp);\n\n if (currentProp.default !== undefined) {\n metaProp.default = currentProp.default;\n }\n\n if (Array.isArray(currentProp.enum)) {\n metaProp.enum = currentProp.enum;\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dropdown\";\n }\n\n // 6. Polymorphism & Nesting\n this._applyPolymorphism(metaProp, currentProp, openApiRoot, version, depth);\n this._applyNestedTypes(metaProp, currentProp, openApiRoot, version, depth, type);\n\n return metaProp;\n }\n\n /**\n * Attempts to resolve a $ref block. If it resolves to a primitive, it inlines it.\n * Otherwise, it returns a reference widget payload.\n * \n * @param {any} currentProp The current schema property definition.\n * @param {string} keyName The structural key name.\n * @param {boolean} isRequired Whether the property is strictly required.\n * @param {any} openApiRoot The root API definition for relative resolution.\n * @param {\"2.0\" | \"3.0\"} version The structural version context.\n * @param {number} depth The recursive resolution depth.\n * @returns {IPropertyMetadata | null} Resolved metadata, or null if no reference exists.\n * @private\n */\n private static _resolveReference(\n currentProp: any, \n keyName: string, \n isRequired: boolean, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): IPropertyMetadata | null {\n if (!currentProp.$ref) {\n return null;\n }\n\n const resolved = OpenApiRefResolver.resolve(currentProp.$ref, openApiRoot);\n const resolvedType = currentProp.type || (resolved && (resolved as any).type);\n \n if (resolvedType && [\"string\", \"number\", \"integer\", \"boolean\"].includes(resolvedType)) {\n const inlineProp = { ...(resolved as any), ...currentProp };\n delete inlineProp.$ref;\n return this.mapPropertyMetadata(inlineProp, keyName, isRequired, openApiRoot, version, depth + 1);\n }\n\n return {\n type: \"object\",\n $ref: currentProp.$ref,\n required: isRequired,\n ui: { widget: \"reference\" }\n };\n }\n\n /**\n * Evaluates and merges 'allOf' arrays into a unified schema definition.\n * \n * @param {any} currentProp The structural property definition containing potential aggregations.\n * @param {any} openApiRoot The base schema for deep resolution.\n * @returns {any} A flattened and merged schema entity.\n * @private\n */\n private static _resolveAllOf(currentProp: any, openApiRoot: any): unknown {\n if (!Array.isArray(currentProp.allOf)) {\n return currentProp;\n }\n \n let merged = { ...currentProp };\n delete merged.allOf;\n for (const subSchema of currentProp.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = this.deepMergeSchemas(merged, resolvedSub);\n }\n return merged;\n }\n\n /**\n * Extracts structural constraints (min/max, regex, etc.) and maps them natively to the output metadata.\n * \n * @param {IPropertyMetadata} metaProp The target metadata definition block.\n * @param {any} currentProp The source OpenAPI schema chunk.\n * @param {\"2.0\" | \"3.0\"} version The version, utilized for nuanced boundary matching.\n * @private\n */\n private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: any, version: \"2.0\" | \"3.0\"): void {\n // String Constraints\n if (typeof currentProp.maxLength === \"number\") metaProp.maxLength = currentProp.maxLength;\n if (typeof currentProp.minLength === \"number\") metaProp.minLength = currentProp.minLength;\n if (typeof currentProp.pattern === \"string\") metaProp.pattern = currentProp.pattern;\n\n // Numeric Constraints\n if (typeof currentProp.maximum === \"number\") metaProp.maximum = currentProp.maximum;\n if (typeof currentProp.minimum === \"number\") metaProp.minimum = currentProp.minimum;\n if (typeof currentProp.multipleOf === \"number\") metaProp.multipleOf = currentProp.multipleOf;\n \n // Array Constraints\n if (typeof currentProp.maxItems === \"number\") metaProp.maxItems = currentProp.maxItems;\n if (typeof currentProp.minItems === \"number\") metaProp.minItems = currentProp.minItems;\n if (typeof currentProp.uniqueItems === \"boolean\") metaProp.uniqueItems = currentProp.uniqueItems;\n\n // Object Constraints\n if (typeof currentProp.maxProperties === \"number\") metaProp.maxProperties = currentProp.maxProperties;\n if (typeof currentProp.minProperties === \"number\") metaProp.minProperties = currentProp.minProperties;\n\n // Exclusive Min/Max version-specific logic\n if (version === \"2.0\") {\n if (currentProp.exclusiveMaximum === true && typeof currentProp.maximum === \"number\") {\n metaProp.exclusiveMaximum = true;\n }\n if (currentProp.exclusiveMinimum === true && typeof currentProp.minimum === \"number\") {\n metaProp.exclusiveMinimum = true;\n }\n } else if (version === \"3.0\") {\n if (typeof currentProp.exclusiveMaximum === \"number\" || typeof currentProp.exclusiveMaximum === \"boolean\") {\n metaProp.exclusiveMaximum = currentProp.exclusiveMaximum;\n }\n if (typeof currentProp.exclusiveMinimum === \"number\" || typeof currentProp.exclusiveMinimum === \"boolean\") {\n metaProp.exclusiveMinimum = currentProp.exclusiveMinimum;\n }\n }\n }\n\n /**\n * Extracts operational state flags like readOnly or nullable mapping them onto the internal specification.\n * \n * @param {IPropertyMetadata} metaProp Target native specification.\n * @param {any} currentProp Source raw schema payload.\n * @private\n */\n private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: any): void {\n if (currentProp.readOnly === true) metaProp.readOnly = true;\n if (currentProp.writeOnly === true) metaProp.writeOnly = true;\n if (currentProp.nullable === true) metaProp.nullable = true;\n if (currentProp.deprecated === true) metaProp.deprecated = true;\n }\n\n /**\n * Extracts and maps polymorphic discriminator and union types (oneOf/anyOf) to MetaUI structural directives.\n * \n * @param {IPropertyMetadata} metaProp Native MetaUI definition tree.\n * @param {any} currentProp Raw schema block.\n * @param {any} openApiRoot Master OpenAPI root.\n * @param {\"2.0\" | \"3.0\"} version Protocol version identifier.\n * @param {number} depth Internal depth tracker.\n * @private\n */\n private static _applyPolymorphism(\n metaProp: IPropertyMetadata, \n currentProp: any, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): void {\n // Discriminator handling\n if (currentProp.discriminator) {\n if (version === \"2.0\" && typeof currentProp.discriminator === \"string\") {\n metaProp.discriminator = { propertyName: currentProp.discriminator };\n } else if (version === \"3.0\" && typeof currentProp.discriminator === \"object\") {\n metaProp.discriminator = {\n propertyName: currentProp.discriminator.propertyName,\n mapping: currentProp.discriminator.mapping\n };\n }\n }\n\n // Handle oneOf polymorphic mapping\n if (Array.isArray(currentProp.oneOf)) {\n metaProp.oneOf = [];\n for (let i = 0; i < currentProp.oneOf.length; i++) {\n metaProp.oneOf.push(this.mapPropertyMetadata(currentProp.oneOf[i], `Variant${i}`, false, openApiRoot, version, depth + 1));\n }\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"polymorphic\";\n }\n \n // Handle anyOf mapping\n if (Array.isArray(currentProp.anyOf)) {\n metaProp.anyOf = [];\n for (let i = 0; i < currentProp.anyOf.length; i++) {\n metaProp.anyOf.push(this.mapPropertyMetadata(currentProp.anyOf[i], `AnyVariant${i}`, false, openApiRoot, version, depth + 1));\n }\n }\n\n // Handle not mapping\n if (currentProp.not) {\n metaProp.not = this.mapPropertyMetadata(currentProp.not, `NotVariant`, false, openApiRoot, version, depth + 1);\n }\n }\n\n /**\n * Recursively traverses into nested objects and arrays constructing the structural node trees.\n * \n * @param {IPropertyMetadata} metaProp The localized destination structure.\n * @param {any} currentProp The source chunk representing a complex element.\n * @param {any} openApiRoot The OpenAPI dictionary context.\n * @param {\"2.0\" | \"3.0\"} version System schema version.\n * @param {number} depth Invocation stack depth.\n * @param {string} type Normalized atomic structure type.\n * @private\n */\n private static _applyNestedTypes(\n metaProp: IPropertyMetadata, \n currentProp: any, \n openApiRoot: any, \n version: \"2.0\" | \"3.0\", \n depth: number,\n type: string\n ): void {\n if (type === \"object\") {\n if (currentProp.properties) {\n const childRequired = Array.isArray(currentProp.required) ? currentProp.required : [];\n metaProp.properties = this.mapProperties(currentProp.properties, childRequired, openApiRoot, version, depth + 1);\n }\n \n if (currentProp.additionalProperties) {\n if (currentProp.additionalProperties === true) {\n metaProp.additionalProperties = true;\n } else if (typeof currentProp.additionalProperties === \"object\") {\n metaProp.additionalProperties = this.mapPropertyMetadata(currentProp.additionalProperties, \"value\", false, openApiRoot, version, depth + 1);\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"dictionary\";\n }\n }\n \n // Opaque JSON object definition mapping\n if (!currentProp.properties && !currentProp.additionalProperties) {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"codeEditor\";\n }\n } else if (type === \"array\" && currentProp.items) {\n metaProp.items = this.mapPropertyMetadata(currentProp.items, \"items\", false, openApiRoot, version, depth + 1);\n if (metaProp.items.type !== \"object\") {\n if (!metaProp.ui) metaProp.ui = {};\n metaProp.ui.widget = \"multiInput\";\n }\n }\n }\n\n /**\n * Recursively deep-merges two OpenAPI objects, ensuring array boundaries and nested structures are preserved.\n * \n * @param {any} target The target base object.\n * @param {any} source The source object providing override details.\n * @returns {any} The synthesized output object.\n */\n public static deepMergeSchemas(target: any, source: any): any {\n const output: any = Object.assign({}, target);\n if (source === null || typeof source !== \"object\") return output;\n\n Object.keys(source).forEach(key => {\n if (Array.isArray(source[key])) {\n output[key] = Array.isArray(target[key]) \n ? Array.from(new Set([...target[key], ...source[key]])) \n : [...source[key]];\n } else if (typeof source[key] === \"object\" && source[key] !== null) {\n if (target[key] && typeof target[key] === \"object\") {\n output[key] = this.deepMergeSchemas(target[key], source[key]);\n } else {\n output[key] = Object.assign({}, source[key]);\n }\n } else {\n output[key] = source[key];\n }\n });\n return output;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ export class OpenApiPropertyMapper {
17
17
  /**
18
18
  * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.
19
19
  *
20
- * @param {Record<string, any>} properties The OpenAPI properties block.
20
+ * @param {any} properties The OpenAPI properties block.
21
21
  * @param {string[]} requiredKeys Array of required property keys.
22
22
  * @param {any} openApiRoot The OpenAPI root document for resolving references.
23
23
  * @param {"2.0" | "3.0"} version The OpenAPI version.
@@ -25,9 +25,9 @@ export class OpenApiPropertyMapper {
25
25
  * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.
26
26
  */
27
27
  public static mapProperties(
28
- properties: Record<string, any>,
28
+ properties: any,
29
29
  requiredKeys: string[],
30
- openApiRoot: unknown,
30
+ openApiRoot: any,
31
31
  version: "2.0" | "3.0",
32
32
  depth: number = 0
33
33
  ): Record<string, IPropertyMetadata> {
@@ -65,14 +65,14 @@ export class OpenApiPropertyMapper {
65
65
  * @returns {IPropertyMetadata} The normalized MetaUI property metadata.
66
66
  */
67
67
  public static mapPropertyMetadata(
68
- swaggerProp: unknown,
68
+ swaggerProp: any,
69
69
  keyName: string,
70
70
  isRequired: boolean,
71
- openApiRoot: unknown,
71
+ openApiRoot: any,
72
72
  version: "2.0" | "3.0",
73
73
  depth: number = 0
74
74
  ): IPropertyMetadata {
75
- let currentProp = swaggerProp;
75
+ let currentProp = swaggerProp as any;
76
76
 
77
77
  // 1. Resolve References
78
78
  const refResult = this._resolveReference(currentProp, keyName, isRequired, openApiRoot, version, depth);
@@ -131,10 +131,10 @@ export class OpenApiPropertyMapper {
131
131
  * @private
132
132
  */
133
133
  private static _resolveReference(
134
- currentProp: unknown,
134
+ currentProp: any,
135
135
  keyName: string,
136
136
  isRequired: boolean,
137
- openApiRoot: unknown,
137
+ openApiRoot: any,
138
138
  version: "2.0" | "3.0",
139
139
  depth: number
140
140
  ): IPropertyMetadata | null {
@@ -143,10 +143,10 @@ export class OpenApiPropertyMapper {
143
143
  }
144
144
 
145
145
  const resolved = OpenApiRefResolver.resolve(currentProp.$ref, openApiRoot);
146
- const resolvedType = currentProp.type || (resolved && resolved.type);
146
+ const resolvedType = currentProp.type || (resolved && (resolved as any).type);
147
147
 
148
148
  if (resolvedType && ["string", "number", "integer", "boolean"].includes(resolvedType)) {
149
- const inlineProp = { ...resolved, ...currentProp };
149
+ const inlineProp = { ...(resolved as any), ...currentProp };
150
150
  delete inlineProp.$ref;
151
151
  return this.mapPropertyMetadata(inlineProp, keyName, isRequired, openApiRoot, version, depth + 1);
152
152
  }
@@ -167,7 +167,7 @@ export class OpenApiPropertyMapper {
167
167
  * @returns {any} A flattened and merged schema entity.
168
168
  * @private
169
169
  */
170
- private static _resolveAllOf(currentProp: unknown, openApiRoot: unknown): unknown {
170
+ private static _resolveAllOf(currentProp: any, openApiRoot: any): unknown {
171
171
  if (!Array.isArray(currentProp.allOf)) {
172
172
  return currentProp;
173
173
  }
@@ -192,7 +192,7 @@ export class OpenApiPropertyMapper {
192
192
  * @param {"2.0" | "3.0"} version The version, utilized for nuanced boundary matching.
193
193
  * @private
194
194
  */
195
- private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: unknown, version: "2.0" | "3.0"): void {
195
+ private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: any, version: "2.0" | "3.0"): void {
196
196
  // String Constraints
197
197
  if (typeof currentProp.maxLength === "number") metaProp.maxLength = currentProp.maxLength;
198
198
  if (typeof currentProp.minLength === "number") metaProp.minLength = currentProp.minLength;
@@ -237,7 +237,7 @@ export class OpenApiPropertyMapper {
237
237
  * @param {any} currentProp Source raw schema payload.
238
238
  * @private
239
239
  */
240
- private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: unknown): void {
240
+ private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: any): void {
241
241
  if (currentProp.readOnly === true) metaProp.readOnly = true;
242
242
  if (currentProp.writeOnly === true) metaProp.writeOnly = true;
243
243
  if (currentProp.nullable === true) metaProp.nullable = true;
@@ -256,8 +256,8 @@ export class OpenApiPropertyMapper {
256
256
  */
257
257
  private static _applyPolymorphism(
258
258
  metaProp: IPropertyMetadata,
259
- currentProp: unknown,
260
- openApiRoot: unknown,
259
+ currentProp: any,
260
+ openApiRoot: any,
261
261
  version: "2.0" | "3.0",
262
262
  depth: number
263
263
  ): void {
@@ -310,8 +310,8 @@ export class OpenApiPropertyMapper {
310
310
  */
311
311
  private static _applyNestedTypes(
312
312
  metaProp: IPropertyMetadata,
313
- currentProp: unknown,
314
- openApiRoot: unknown,
313
+ currentProp: any,
314
+ openApiRoot: any,
315
315
  version: "2.0" | "3.0",
316
316
  depth: number,
317
317
  type: string
@@ -353,8 +353,8 @@ export class OpenApiPropertyMapper {
353
353
  * @param {any} source The source object providing override details.
354
354
  * @returns {any} The synthesized output object.
355
355
  */
356
- public static deepMergeSchemas(target: unknown, source: unknown): unknown {
357
- const output = Object.assign({}, target);
356
+ public static deepMergeSchemas(target: any, source: any): any {
357
+ const output: any = Object.assign({}, target);
358
358
  if (source === null || typeof source !== "object") return output;
359
359
 
360
360
  Object.keys(source).forEach(key => {
@@ -1 +1 @@
1
- {"version":3,"file":"ClearFormActionPlugin-dbg.js","names":["BasePlugin","___controls_BasePlugin","ClearFormActionPlugin","render","fieldMetadata","bindingPath","modelName","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","visible","Button","text","label","type","icon","press","oEvent","btn","getSource","model","getModel","setProperty","getValue","applyState","setEnabled","readOnly","__exports","__esModule"],"sources":["ClearFormActionPlugin.ts"],"sourcesContent":["/**\n * @file ClearFormActionPlugin.ts\n * @description A custom action plugin that renders a Button to reset the model data.\n */\n\nimport { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Button from \"sap/m/Button\";\nimport Control from \"sap/ui/core/Control\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\n\n/**\n * A custom action plugin that renders a Button to reset the model data.\n * Demonstrates how to create functional action plugins that interact with the bound model.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.actions\n * @public\n */\nexport class ClearFormActionPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n \n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({ visible: false });\n return this.control as Control;\n }\n \n this.control = new Button({\n text: fieldMetadata.ui?.label || \"Clear Data\",\n type: \"Reject\",\n icon: \"sap-icon://delete\",\n press: (oEvent: sap.ui.base.Event) => {\n const btn = oEvent.getSource() as Button;\n const model = btn.getModel(modelName) as JSONModel;\n if (model) {\n // Reset the entire model payload to an empty object\n model.setProperty(\"/\", {});\n }\n }\n });\n\n return this.control as Control;\n }\n\n protected getValue(): unknown {\n return null; // Actions do not store scalar values\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as Button).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,sBAAA;EAMnB;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,qBAAqB,SAASF,UAAU,CAAC;IAC3CG,MAAMA,CAACC,aAAgC,EAAEC,WAAmB,EAAEC,SAAiB,GAAG,MAAM,EAAW;MACtG,IAAI,CAACC,QAAQ,GAAGH,aAAa;MAE7B,IAAI,CAAC,IAAI,CAACI,UAAU,EAAE;QAClBC,GAAG,CAACC,EAAE,CAACC,WAAW,CAAC,YAAY,CAAC;QAChC,MAAMC,WAAW,GAAGH,GAAG,CAACC,EAAE,CAACG,OAAO,CAAC,YAAY,CAAC;QAChD,IAAI,CAACC,OAAO,GAAG,IAAIF,WAAW,CAAC;UAAEG,OAAO,EAAE;QAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAACD,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIE,MAAM,CAAC;QACtBC,IAAI,EAAEb,aAAa,CAACM,EAAE,EAAEQ,KAAK,IAAI,YAAY;QAC7CC,IAAI,EAAE,QAAQ;QACdC,IAAI,EAAE,mBAAmB;QACzBC,KAAK,EAAGC,MAAyB,IAAK;UAClC,MAAMC,GAAG,GAAGD,MAAM,CAACE,SAAS,CAAC,CAAW;UACxC,MAAMC,KAAK,GAAGF,GAAG,CAACG,QAAQ,CAACpB,SAAS,CAAc;UAClD,IAAImB,KAAK,EAAE;YACP;YACAA,KAAK,CAACE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;UAC9B;QACJ;MACJ,CAAC,CAAC;MAEF,OAAO,IAAI,CAACb,OAAO;IACvB;IAEUc,QAAQA,CAAA,EAAY;MAC1B,OAAO,IAAI,CAAC,CAAC;IACjB;IAEUC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACf,OAAO,IAAI,IAAI,CAACP,QAAQ,EAAE;QAC/B,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;QACrB,IAAI,CAACM,OAAO,CAAYgB,UAAU,CAAC,CAAC,IAAI,CAACvB,QAAQ,CAACG,EAAE,EAAEqB,QAAQ,CAAC;MACpE;IACJ;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA9B,qBAAA,GAAAA,qBAAA;EAAA,OAAA8B,SAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"ClearFormActionPlugin-dbg.js","names":["BasePlugin","___controls_BasePlugin","ClearFormActionPlugin","render","fieldMetadata","bindingPath","modelName","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","visible","Button","text","label","type","icon","press","oEvent","btn","getSource","model","getModel","setProperty","getValue","applyState","setEnabled","readOnly","__exports","__esModule"],"sources":["ClearFormActionPlugin.ts"],"sourcesContent":["/**\n * @file ClearFormActionPlugin.ts\n * @description A custom action plugin that renders a Button to reset the model data.\n */\n\nimport { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Button from \"sap/m/Button\";\nimport Control from \"sap/ui/core/Control\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\n\nimport Event from \"sap/ui/base/Event\";\n/**\n * A custom action plugin that renders a Button to reset the model data.\n * Demonstrates how to create functional action plugins that interact with the bound model.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.actions\n * @public\n */\nexport class ClearFormActionPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n \n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({ visible: false });\n return this.control as Control;\n }\n \n this.control = new Button({\n text: fieldMetadata.ui?.label || \"Clear Data\",\n type: \"Reject\",\n icon: \"sap-icon://delete\",\n press: (oEvent: Event) => {\n const btn = oEvent.getSource() as Button;\n const model = btn.getModel(modelName) as JSONModel;\n if (model) {\n // Reset the entire model payload to an empty object\n model.setProperty(\"/\", {});\n }\n }\n });\n\n return this.control as Control;\n }\n\n protected getValue(): unknown {\n return null; // Actions do not store scalar values\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as Button).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAKSA,UAAU,GAAAC,sBAAA;EAOnB;AACA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,qBAAqB,SAASF,UAAU,CAAC;IAC3CG,MAAMA,CAACC,aAAgC,EAAEC,WAAmB,EAAEC,SAAiB,GAAG,MAAM,EAAW;MACtG,IAAI,CAACC,QAAQ,GAAGH,aAAa;MAE7B,IAAI,CAAC,IAAI,CAACI,UAAU,EAAE;QAClBC,GAAG,CAACC,EAAE,CAACC,WAAW,CAAC,YAAY,CAAC;QAChC,MAAMC,WAAW,GAAGH,GAAG,CAACC,EAAE,CAACG,OAAO,CAAC,YAAY,CAAC;QAChD,IAAI,CAACC,OAAO,GAAG,IAAIF,WAAW,CAAC;UAAEG,OAAO,EAAE;QAAM,CAAC,CAAC;QAClD,OAAO,IAAI,CAACD,OAAO;MACvB;MAEA,IAAI,CAACA,OAAO,GAAG,IAAIE,MAAM,CAAC;QACtBC,IAAI,EAAEb,aAAa,CAACM,EAAE,EAAEQ,KAAK,IAAI,YAAY;QAC7CC,IAAI,EAAE,QAAQ;QACdC,IAAI,EAAE,mBAAmB;QACzBC,KAAK,EAAGC,MAAa,IAAK;UACtB,MAAMC,GAAG,GAAGD,MAAM,CAACE,SAAS,CAAC,CAAW;UACxC,MAAMC,KAAK,GAAGF,GAAG,CAACG,QAAQ,CAACpB,SAAS,CAAc;UAClD,IAAImB,KAAK,EAAE;YACP;YACAA,KAAK,CAACE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;UAC9B;QACJ;MACJ,CAAC,CAAC;MAEF,OAAO,IAAI,CAACb,OAAO;IACvB;IAEUc,QAAQA,CAAA,EAAY;MAC1B,OAAO,IAAI,CAAC,CAAC;IACjB;IAEUC,UAAUA,CAAA,EAAS;MACzB,IAAI,IAAI,CAACf,OAAO,IAAI,IAAI,CAACP,QAAQ,EAAE;QAC/B,IAAI,CAAC,IAAI,CAACC,UAAU,EAAE;QACrB,IAAI,CAACM,OAAO,CAAYgB,UAAU,CAAC,CAAC,IAAI,CAACvB,QAAQ,CAACG,EAAE,EAAEqB,QAAQ,CAAC;MACpE;IACJ;EACJ;EAAC,IAAAC,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA9B,qBAAA,GAAAA,qBAAA;EAAA,OAAA8B,SAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ClearFormActionPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kEAAkE,CAAC;IAClF;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAG1C;;;;;;OAMG;IACH,MAAa,qBAAsB,SAAQ,UAAU;QAC1C,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;QA2BzG,SAAS,CAAC,QAAQ,IAAI,OAAO;QAI7B,SAAS,CAAC,UAAU,IAAI,IAAI;KAM/B;CAEA"}
1
+ {"version":3,"file":"ClearFormActionPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kEAAkE,CAAC;IAClF;;;OAGG;IAEH,OAAO,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;IACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;IAElF,OAAO,OAAO,MAAM,qBAAqB,CAAC;IAI1C;;;;;;OAMG;IACH,MAAa,qBAAsB,SAAQ,UAAU;QAC1C,MAAM,CAAC,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,OAAO;QA2BzG,SAAS,CAAC,QAAQ,IAAI,OAAO;QAI7B,SAAS,CAAC,UAAU,IAAI,IAAI;KAM/B;CAEA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClearFormActionPlugin.js","names":["BasePlugin","___controls_BasePlugin","ClearFormActionPlugin","render","fieldMetadata","bindingPath","modelName","this","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","visible","Button","text","label","type","icon","press","oEvent","btn","getSource","model","getModel","setProperty","getValue","applyState","setEnabled","readOnly","__exports","__esModule"],"sources":["ClearFormActionPlugin.ts"],"sourcesContent":["/**\n * @file ClearFormActionPlugin.ts\n * @description A custom action plugin that renders a Button to reset the model data.\n */\n\nimport { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Button from \"sap/m/Button\";\nimport Control from \"sap/ui/core/Control\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\n\n/**\n * A custom action plugin that renders a Button to reset the model data.\n * Demonstrates how to create functional action plugins that interact with the bound model.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.actions\n * @public\n */\nexport class ClearFormActionPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n \n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({ visible: false });\n return this.control as Control;\n }\n \n this.control = new Button({\n text: fieldMetadata.ui?.label || \"Clear Data\",\n type: \"Reject\",\n icon: \"sap-icon://delete\",\n press: (oEvent: sap.ui.base.Event) => {\n const btn = oEvent.getSource() as Button;\n const model = btn.getModel(modelName) as JSONModel;\n if (model) {\n // Reset the entire model payload to an empty object\n model.setProperty(\"/\", {});\n }\n }\n });\n\n return this.control as Control;\n }\n\n protected getValue(): unknown {\n return null; // Actions do not store scalar values\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as Button).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"mFAAA,MAKSA,EAAUC,EAAA,cAaZ,MAAMC,UAA8BF,EAChCG,OAAOC,EAAkCC,EAAqBC,EAAoB,QACrFC,KAAKC,SAAWJ,EAEhB,IAAKG,KAAKE,WAAY,CAClBC,IAAIC,GAAGC,YAAY,cACnB,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAAEG,QAAS,QAC1C,OAAOT,KAAKQ,OAChB,CAEAR,KAAKQ,QAAU,IAAIE,EAAO,CACtBC,KAAMd,EAAcO,IAAIQ,OAAS,aACjCC,KAAM,SACNC,KAAM,oBACNC,MAAQC,IACJ,MAAMC,EAAMD,EAAOE,YACnB,MAAMC,EAAQF,EAAIG,SAASrB,GAC3B,GAAIoB,EAAO,CAEPA,EAAME,YAAY,IAAK,CAAC,EAC5B,KAIR,OAAOrB,KAAKQ,OAChB,CAEUc,WACN,OAAO,IACX,CAEUC,aACN,GAAIvB,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,IAAKD,KAAKE,WAAY,OACrBF,KAAKQ,QAAmBgB,YAAYxB,KAAKC,SAASG,IAAIqB,SAC3D,CACJ,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAA/B,wBAAA,OAAA+B,CAAA","ignoreList":[]}
1
+ {"version":3,"file":"ClearFormActionPlugin.js","names":["BasePlugin","___controls_BasePlugin","ClearFormActionPlugin","render","fieldMetadata","bindingPath","modelName","this","metadata","isEditable","sap","ui","requireSync","TextControl","require","control","visible","Button","text","label","type","icon","press","oEvent","btn","getSource","model","getModel","setProperty","getValue","applyState","setEnabled","readOnly","__exports","__esModule"],"sources":["ClearFormActionPlugin.ts"],"sourcesContent":["/**\n * @file ClearFormActionPlugin.ts\n * @description A custom action plugin that renders a Button to reset the model data.\n */\n\nimport { BasePlugin } from \"../controls/BasePlugin\";\nimport { IPropertyMetadata } from \"../../interfaces/ISchema\";\nimport Button from \"sap/m/Button\";\nimport Control from \"sap/ui/core/Control\";\nimport JSONModel from \"sap/ui/model/json/JSONModel\";\n\nimport Event from \"sap/ui/base/Event\";\n/**\n * A custom action plugin that renders a Button to reset the model data.\n * Demonstrates how to create functional action plugins that interact with the bound model.\n * \n * @namespace nz.co.siliconst.ui5.metaui.plugins.actions\n * @public\n */\nexport class ClearFormActionPlugin extends BasePlugin {\n public render(fieldMetadata: IPropertyMetadata, bindingPath: string, modelName: string = \"meta\"): Control {\n this.metadata = fieldMetadata;\n \n if (!this.isEditable) {\n sap.ui.requireSync(\"sap/m/Text\");\n const TextControl = sap.ui.require(\"sap/m/Text\");\n this.control = new TextControl({ visible: false });\n return this.control as Control;\n }\n \n this.control = new Button({\n text: fieldMetadata.ui?.label || \"Clear Data\",\n type: \"Reject\",\n icon: \"sap-icon://delete\",\n press: (oEvent: Event) => {\n const btn = oEvent.getSource() as Button;\n const model = btn.getModel(modelName) as JSONModel;\n if (model) {\n // Reset the entire model payload to an empty object\n model.setProperty(\"/\", {});\n }\n }\n });\n\n return this.control as Control;\n }\n\n protected getValue(): unknown {\n return null; // Actions do not store scalar values\n }\n\n protected applyState(): void {\n if (this.control && this.metadata) {\n if (!this.isEditable) return;\n (this.control as Button).setEnabled(!this.metadata.ui?.readOnly);\n }\n }\n}\n"],"mappings":"mFAAA,MAKSA,EAAUC,EAAA,cAcZ,MAAMC,UAA8BF,EAChCG,OAAOC,EAAkCC,EAAqBC,EAAoB,QACrFC,KAAKC,SAAWJ,EAEhB,IAAKG,KAAKE,WAAY,CAClBC,IAAIC,GAAGC,YAAY,cACnB,MAAMC,EAAcH,IAAIC,GAAGG,QAAQ,cACnCP,KAAKQ,QAAU,IAAIF,EAAY,CAAEG,QAAS,QAC1C,OAAOT,KAAKQ,OAChB,CAEAR,KAAKQ,QAAU,IAAIE,EAAO,CACtBC,KAAMd,EAAcO,IAAIQ,OAAS,aACjCC,KAAM,SACNC,KAAM,oBACNC,MAAQC,IACJ,MAAMC,EAAMD,EAAOE,YACnB,MAAMC,EAAQF,EAAIG,SAASrB,GAC3B,GAAIoB,EAAO,CAEPA,EAAME,YAAY,IAAK,CAAC,EAC5B,KAIR,OAAOrB,KAAKQ,OAChB,CAEUc,WACN,OAAO,IACX,CAEUC,aACN,GAAIvB,KAAKQ,SAAWR,KAAKC,SAAU,CAC/B,IAAKD,KAAKE,WAAY,OACrBF,KAAKQ,QAAmBgB,YAAYxB,KAAKC,SAASG,IAAIqB,SAC3D,CACJ,EACH,IAAAC,EAAA,CAAAC,WAAA,MAAAD,EAAA/B,wBAAA,OAAA+B,CAAA","ignoreList":[]}
@@ -9,6 +9,7 @@ import Button from "sap/m/Button";
9
9
  import Control from "sap/ui/core/Control";
10
10
  import JSONModel from "sap/ui/model/json/JSONModel";
11
11
 
12
+ import Event from "sap/ui/base/Event";
12
13
  /**
13
14
  * A custom action plugin that renders a Button to reset the model data.
14
15
  * Demonstrates how to create functional action plugins that interact with the bound model.
@@ -31,7 +32,7 @@ export class ClearFormActionPlugin extends BasePlugin {
31
32
  text: fieldMetadata.ui?.label || "Clear Data",
32
33
  type: "Reject",
33
34
  icon: "sap-icon://delete",
34
- press: (oEvent: sap.ui.base.Event) => {
35
+ press: (oEvent: Event) => {
35
36
  const btn = oEvent.getSource() as Button;
36
37
  const model = btn.getModel(modelName) as JSONModel;
37
38
  if (model) {