@siliconst/metaui 1.4.21 → 1.4.37

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 (555) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +22 -20
  4. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +1 -1
  5. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +3 -3
  6. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +1 -1
  7. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +1 -1
  8. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +1 -1
  9. package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +24 -16
  10. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +1 -1
  11. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +1 -1
  12. package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +2 -2
  13. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js +111 -0
  14. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants-dbg.js.map +1 -0
  15. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts +95 -0
  16. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.d.ts.map +1 -0
  17. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js +2 -0
  18. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.js.map +1 -0
  19. package/src/nz/co/siliconst/ui5/metaui/constants/MetaUIConstants.ts +101 -0
  20. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl-dbg.js.map +1 -1
  21. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.js.map +1 -1
  22. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControl.ts +1 -1
  23. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer-dbg.js.map +1 -1
  24. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.d.ts.map +1 -1
  25. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.js.map +1 -1
  26. package/src/nz/co/siliconst/ui5/metaui/controls/BaseHardwareControlRenderer.ts +2 -1
  27. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js +2 -2
  28. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl-dbg.js.map +1 -1
  29. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js +1 -1
  30. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.js.map +1 -1
  31. package/src/nz/co/siliconst/ui5/metaui/controls/CameraControl.ts +3 -3
  32. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +47 -47
  33. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
  34. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +6 -2
  35. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
  36. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
  37. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
  38. package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +62 -66
  39. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js +0 -9
  40. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl-dbg.js.map +1 -1
  41. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts +0 -9
  42. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.d.ts.map +1 -1
  43. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js +1 -1
  44. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.js.map +1 -1
  45. package/src/nz/co/siliconst/ui5/metaui/controls/GeolocationControl.ts +3 -9
  46. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js +0 -11
  47. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl-dbg.js.map +1 -1
  48. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts +0 -11
  49. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.d.ts.map +1 -1
  50. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js +1 -1
  51. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.js.map +1 -1
  52. package/src/nz/co/siliconst/ui5/metaui/controls/RichTextControl.ts +2 -9
  53. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js +2 -7
  54. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl-dbg.js.map +1 -1
  55. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts +0 -5
  56. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.d.ts.map +1 -1
  57. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js +1 -1
  58. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.js.map +1 -1
  59. package/src/nz/co/siliconst/ui5/metaui/controls/SignatureControl.ts +3 -7
  60. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js +1 -6
  61. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl-dbg.js.map +1 -1
  62. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts +0 -5
  63. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.d.ts.map +1 -1
  64. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js +1 -1
  65. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.js.map +1 -1
  66. package/src/nz/co/siliconst/ui5/metaui/controls/VoiceInputControl.ts +9 -12
  67. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +170 -74
  68. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
  69. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +29 -4
  70. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
  71. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
  72. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
  73. package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +179 -79
  74. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +41 -38
  75. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
  76. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +5 -3
  77. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
  78. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
  79. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
  80. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +46 -38
  81. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js +41 -2
  82. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate-dbg.js.map +1 -1
  83. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts +6 -2
  84. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.d.ts.map +1 -1
  85. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js +1 -1
  86. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.js.map +1 -1
  87. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DialogDelegate.ts +47 -2
  88. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
  89. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +1 -1
  90. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
  91. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
  92. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +8 -7
  93. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js +7 -2
  94. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate-dbg.js.map +1 -1
  95. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts +5 -2
  96. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.d.ts.map +1 -1
  97. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js +1 -1
  98. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.js.map +1 -1
  99. package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ValidationDelegate.ts +10 -5
  100. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +215 -38
  101. package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
  102. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +21 -3
  103. package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
  104. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
  105. package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
  106. package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +218 -40
  107. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js +86 -0
  108. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator-dbg.js.map +1 -0
  109. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts +16 -0
  110. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.d.ts.map +1 -0
  111. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js +2 -0
  112. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.js.map +1 -0
  113. package/src/nz/co/siliconst/ui5/metaui/core/LayoutMutator.ts +82 -0
  114. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js +142 -0
  115. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer-dbg.js.map +1 -0
  116. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts +24 -0
  117. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.d.ts.map +1 -0
  118. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js +2 -0
  119. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.js.map +1 -0
  120. package/src/nz/co/siliconst/ui5/metaui/core/LayoutScorer.ts +147 -0
  121. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js +8 -0
  122. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager-dbg.js.map +1 -1
  123. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.d.ts.map +1 -1
  124. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js +1 -1
  125. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.js.map +1 -1
  126. package/src/nz/co/siliconst/ui5/metaui/core/PipelineManager.ts +7 -0
  127. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +153 -50
  128. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
  129. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts +15 -0
  130. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
  131. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
  132. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
  133. package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +164 -53
  134. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js +310 -0
  135. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine-dbg.js.map +1 -0
  136. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts +73 -0
  137. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.d.ts.map +1 -0
  138. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js +2 -0
  139. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.js.map +1 -0
  140. package/src/nz/co/siliconst/ui5/metaui/core/PolicyEngine.ts +307 -0
  141. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +35 -14
  142. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
  143. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
  144. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
  145. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
  146. package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +40 -15
  147. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +15 -3
  148. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -1
  149. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.d.ts.map +1 -1
  150. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +1 -1
  151. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -1
  152. package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +15 -1
  153. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js +82 -16
  154. package/src/nz/co/siliconst/ui5/metaui/core/StateManager-dbg.js.map +1 -1
  155. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts +16 -0
  156. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.d.ts.map +1 -1
  157. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js +1 -1
  158. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.js.map +1 -1
  159. package/src/nz/co/siliconst/ui5/metaui/core/StateManager.ts +89 -17
  160. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
  161. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +12 -1
  162. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
  163. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +13 -1
  164. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js +2 -0
  165. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin-dbg.js.map +1 -0
  166. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts +50 -0
  167. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.d.ts.map +1 -0
  168. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js +2 -0
  169. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.js.map +1 -0
  170. package/src/nz/co/siliconst/ui5/metaui/interfaces/IPolicyPlugin.ts +49 -0
  171. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
  172. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +23 -1
  173. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
  174. package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +27 -1
  175. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js +31 -36
  176. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout-dbg.js.map +1 -1
  177. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.d.ts.map +1 -1
  178. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js +1 -1
  179. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.js.map +1 -1
  180. package/src/nz/co/siliconst/ui5/metaui/layouts/FormLayout.ts +26 -29
  181. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +47 -11
  182. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
  183. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
  184. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
  185. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
  186. package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +48 -12
  187. package/src/nz/co/siliconst/ui5/metaui/library-preload.js +74 -58
  188. package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
  189. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +3 -2
  190. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -1
  191. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -1
  192. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +1 -1
  193. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -1
  194. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +3 -2
  195. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -1
  196. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -1
  197. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +3 -3
  198. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js +2 -1
  199. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -1
  200. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +1 -1
  201. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -1
  202. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +1 -1
  203. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -1
  204. package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.ts +4 -3
  205. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +2 -2
  206. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -1
  207. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -1
  208. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +2 -2
  209. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +12 -8
  210. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -1
  211. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -1
  212. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +1 -1
  213. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -1
  214. package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +15 -11
  215. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +20 -12
  216. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -1
  217. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +4 -4
  218. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -1
  219. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +1 -1
  220. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -1
  221. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +24 -16
  222. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +18 -11
  223. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -1
  224. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +4 -4
  225. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -1
  226. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +1 -1
  227. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -1
  228. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +22 -15
  229. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +24 -100
  230. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -1
  231. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +8 -72
  232. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -1
  233. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +1 -1
  234. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -1
  235. package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +45 -108
  236. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin-dbg.js.map +1 -1
  237. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.d.ts.map +1 -1
  238. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.js.map +1 -1
  239. package/src/nz/co/siliconst/ui5/metaui/plugins/actions/ClearFormActionPlugin.ts +2 -1
  240. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +24 -18
  241. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
  242. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts +1 -1
  243. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
  244. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
  245. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
  246. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +23 -21
  247. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +5 -5
  248. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
  249. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts +1 -1
  250. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.d.ts.map +1 -1
  251. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
  252. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
  253. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +7 -7
  254. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +129 -9
  255. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
  256. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +46 -10
  257. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
  258. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
  259. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
  260. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +145 -15
  261. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +35 -14
  262. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
  263. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts +1 -1
  264. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
  265. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
  266. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
  267. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +38 -14
  268. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +4 -4
  269. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
  270. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts +1 -1
  271. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.d.ts.map +1 -1
  272. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
  273. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
  274. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +5 -5
  275. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +69 -20
  276. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
  277. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts +2 -1
  278. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.d.ts.map +1 -1
  279. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
  280. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
  281. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +77 -21
  282. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +3 -3
  283. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
  284. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts +1 -1
  285. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
  286. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
  287. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
  288. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +5 -5
  289. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +3 -3
  290. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
  291. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts +1 -1
  292. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
  293. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
  294. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
  295. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +5 -5
  296. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +1 -0
  297. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +1 -1
  298. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +1 -1
  299. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +1 -1
  300. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +1 -1
  301. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +6 -5
  302. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +8 -3
  303. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
  304. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts +1 -1
  305. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
  306. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
  307. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
  308. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +10 -5
  309. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +3 -3
  310. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -1
  311. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +1 -1
  312. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +1 -1
  313. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +1 -1
  314. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -1
  315. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +4 -4
  316. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +3 -3
  317. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
  318. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts +1 -1
  319. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.d.ts.map +1 -1
  320. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
  321. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
  322. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +5 -5
  323. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +4 -4
  324. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
  325. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts +1 -1
  326. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
  327. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
  328. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
  329. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +5 -5
  330. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +3 -3
  331. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -1
  332. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +1 -1
  333. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +1 -1
  334. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +1 -1
  335. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -1
  336. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +4 -4
  337. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
  338. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts +1 -1
  339. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.d.ts.map +1 -1
  340. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
  341. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +1 -1
  342. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +7 -6
  343. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
  344. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +1 -1
  345. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +1 -1
  346. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
  347. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
  348. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +9 -8
  349. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +2 -2
  350. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
  351. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts +1 -1
  352. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
  353. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
  354. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
  355. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +3 -3
  356. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +36 -21
  357. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
  358. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts +1 -1
  359. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
  360. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
  361. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
  362. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +40 -23
  363. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js +9 -6
  364. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin-dbg.js.map +1 -1
  365. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts +1 -1
  366. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.d.ts.map +1 -1
  367. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js +1 -1
  368. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.js.map +1 -1
  369. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ObjectPlugin.ts +10 -8
  370. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +3 -3
  371. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -1
  372. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +1 -1
  373. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +1 -1
  374. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +1 -1
  375. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -1
  376. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +4 -4
  377. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +3 -3
  378. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
  379. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts +1 -1
  380. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.d.ts.map +1 -1
  381. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
  382. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
  383. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +5 -5
  384. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +29 -12
  385. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -1
  386. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +5 -1
  387. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -1
  388. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +1 -1
  389. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -1
  390. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +30 -10
  391. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +4 -4
  392. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
  393. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts +1 -1
  394. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.d.ts.map +1 -1
  395. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
  396. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
  397. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +5 -5
  398. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +4 -4
  399. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
  400. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts +1 -1
  401. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.d.ts.map +1 -1
  402. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
  403. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
  404. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +5 -5
  405. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +3 -3
  406. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
  407. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts +1 -1
  408. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.d.ts.map +1 -1
  409. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
  410. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
  411. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +4 -4
  412. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +3 -3
  413. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
  414. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts +1 -1
  415. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.d.ts.map +1 -1
  416. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
  417. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
  418. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +5 -5
  419. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +3 -3
  420. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
  421. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts +1 -1
  422. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.d.ts.map +1 -1
  423. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
  424. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
  425. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +4 -4
  426. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +2 -2
  427. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
  428. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts +1 -1
  429. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
  430. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
  431. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
  432. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +3 -3
  433. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +58 -56
  434. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
  435. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts +2 -5
  436. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.d.ts.map +1 -1
  437. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
  438. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
  439. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +66 -55
  440. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +3 -3
  441. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
  442. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts +1 -1
  443. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
  444. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
  445. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
  446. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +4 -4
  447. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +4 -4
  448. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
  449. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts +1 -1
  450. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
  451. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
  452. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
  453. package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +5 -5
  454. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
  455. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.d.ts.map +1 -1
  456. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
  457. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +5 -3
  458. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js +2 -1
  459. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin-dbg.js.map +1 -1
  460. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.d.ts.map +1 -1
  461. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js +1 -1
  462. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.js.map +1 -1
  463. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/ODataListBindingPlugin.ts +6 -3
  464. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js +30 -9
  465. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin-dbg.js.map +1 -1
  466. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts +2 -2
  467. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.d.ts.map +1 -1
  468. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js +1 -1
  469. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.js.map +1 -1
  470. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteDropdownPlugin.ts +41 -13
  471. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
  472. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.d.ts.map +1 -1
  473. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
  474. package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +5 -3
  475. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js +41 -0
  476. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin-dbg.js.map +1 -0
  477. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts +24 -0
  478. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.d.ts.map +1 -0
  479. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js +2 -0
  480. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.js.map +1 -0
  481. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNotNullConditionPlugin.ts +34 -0
  482. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js +41 -0
  483. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin-dbg.js.map +1 -0
  484. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts +24 -0
  485. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.d.ts.map +1 -0
  486. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js +2 -0
  487. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.js.map +1 -0
  488. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/IsNullConditionPlugin.ts +34 -0
  489. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js +52 -0
  490. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin-dbg.js.map +1 -0
  491. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts +30 -0
  492. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.d.ts.map +1 -0
  493. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js +2 -0
  494. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.js.map +1 -0
  495. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericGreaterThanConditionPlugin.ts +45 -0
  496. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js +52 -0
  497. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin-dbg.js.map +1 -0
  498. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts +30 -0
  499. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.d.ts.map +1 -0
  500. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js +2 -0
  501. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.js.map +1 -0
  502. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/NumericLessThanConditionPlugin.ts +45 -0
  503. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js +41 -0
  504. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin-dbg.js.map +1 -0
  505. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts +24 -0
  506. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.d.ts.map +1 -0
  507. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js +2 -0
  508. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.js.map +1 -0
  509. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/conditions/StringEqualsConditionPlugin.ts +34 -0
  510. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js +40 -0
  511. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin-dbg.js.map +1 -0
  512. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts +28 -0
  513. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.d.ts.map +1 -0
  514. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js +2 -0
  515. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.js.map +1 -0
  516. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/EditableEffectPlugin.ts +34 -0
  517. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js +40 -0
  518. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin-dbg.js.map +1 -0
  519. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts +28 -0
  520. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.d.ts.map +1 -0
  521. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js +2 -0
  522. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.js.map +1 -0
  523. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/RequirementEffectPlugin.ts +34 -0
  524. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js +40 -0
  525. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin-dbg.js.map +1 -0
  526. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts +28 -0
  527. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.d.ts.map +1 -0
  528. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js +2 -0
  529. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.js.map +1 -0
  530. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/ValidityEffectPlugin.ts +34 -0
  531. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js +40 -0
  532. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin-dbg.js.map +1 -0
  533. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts +28 -0
  534. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.d.ts.map +1 -0
  535. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js +2 -0
  536. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.js.map +1 -0
  537. package/src/nz/co/siliconst/ui5/metaui/plugins/policies/effects/VisibilityEffectPlugin.ts +34 -0
  538. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js +33 -0
  539. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider-dbg.js.map +1 -0
  540. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts +14 -0
  541. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.d.ts.map +1 -0
  542. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js +2 -0
  543. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.js.map +1 -0
  544. package/src/nz/co/siliconst/ui5/metaui/services/SchemaProvider.ts +24 -0
  545. package/src/nz/co/siliconst/ui5/metaui/utils/Logger-dbg.js.map +1 -1
  546. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.d.ts.map +1 -1
  547. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.js.map +1 -1
  548. package/src/nz/co/siliconst/ui5/metaui/utils/Logger.ts +1 -1
  549. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js +0 -75
  550. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine-dbg.js.map +0 -1
  551. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts +0 -47
  552. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.d.ts.map +0 -1
  553. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js +0 -2
  554. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.js.map +0 -1
  555. package/src/nz/co/siliconst/ui5/metaui/core/ConditionEngine.ts +0 -72
@@ -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","props","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","disc","mapping","oneOf","i","push","anyOf","not","childRequired","additionalProperties","items","target","source","outTarget","output","assign","srcObj","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\";\nimport { FieldType } from \"../../interfaces/ISchema\";\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 {unknown} properties The OpenAPI properties block.\n * @param {string[]} requiredKeys Array of required property keys.\n * @param {unknown} 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: unknown, \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 const props = (properties || {}) as Record<string, unknown>;\n\n for (const key of Object.keys(props)) {\n const isRequired = requiredKeys.includes(key);\n let propDef = props[key] as Record<string, unknown>;\n\n if (propDef.$ref) {\n const resolved = OpenApiRefResolver.resolve(propDef.$ref as string, openApiRoot) as Record<string, unknown>;\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 {unknown} 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 {unknown} 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 as Record<string, unknown>;\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) as Record<string, unknown>;\n\n // 3. Base Initialization\n const type = OpenApiTypeMapper.mapType(currentProp.type as string);\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 private static _resolveReference(\n currentProp: Record<string, 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 as string, openApiRoot) as Record<string, unknown>;\n const resolvedType = currentProp.type || (resolved && resolved.type);\n \n if (resolvedType && [\"string\", \"number\", \"integer\", \"boolean\"].includes(resolvedType as string)) {\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 as string,\n required: isRequired,\n ui: { widget: \"reference\" }\n };\n }\n\n private static _resolveAllOf(currentProp: Record<string, 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 as Record<string, unknown>;\n if (subSchema.$ref) {\n resolvedSub = (OpenApiRefResolver.resolve(subSchema.$ref as string, openApiRoot) as Record<string, unknown>) || {};\n }\n merged = this.deepMergeSchemas(merged, resolvedSub) as Record<string, unknown>;\n }\n return merged;\n }\n\n private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: Record<string, 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 as boolean;\n }\n if (typeof currentProp.exclusiveMinimum === \"number\" || typeof currentProp.exclusiveMinimum === \"boolean\") {\n metaProp.exclusiveMinimum = currentProp.exclusiveMinimum as boolean;\n }\n }\n }\n\n private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: Record<string, 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 private static _applyPolymorphism(\n metaProp: IPropertyMetadata, \n currentProp: Record<string, unknown>, \n openApiRoot: unknown, \n version: \"2.0\" | \"3.0\", \n depth: number\n ): void {\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 const disc = currentProp.discriminator as Record<string, unknown>;\n metaProp.discriminator = {\n propertyName: disc.propertyName as string,\n mapping: disc.mapping as Record<string, string>\n };\n }\n }\n\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 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 if (currentProp.not) {\n metaProp.not = this.mapPropertyMetadata(currentProp.not, `NotVariant`, false, openApiRoot, version, depth + 1);\n }\n }\n\n private static _applyNestedTypes(\n metaProp: IPropertyMetadata, \n currentProp: Record<string, 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 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 public static deepMergeSchemas(target: unknown, source: unknown): unknown {\n const outTarget = (target || {}) as Record<string, unknown>;\n const output: Record<string, unknown> = Object.assign({}, outTarget);\n if (source === null || typeof source !== \"object\") return output;\n \n const srcObj = source as Record<string, unknown>;\n\n Object.keys(srcObj).forEach(key => {\n if (Array.isArray(srcObj[key])) {\n output[key] = Array.isArray(outTarget[key]) \n ? Array.from(new Set([...(outTarget[key] as unknown[]), ...(srcObj[key] as unknown[])])) \n : [...(srcObj[key] as unknown[])];\n } else if (typeof srcObj[key] === \"object\" && srcObj[key] !== null) {\n if (outTarget[key] && typeof outTarget[key] === \"object\") {\n output[key] = this.deepMergeSchemas(outTarget[key], srcObj[key]);\n } else {\n output[key] = Object.assign({}, srcObj[key]);\n }\n } else {\n output[key] = srcObj[key];\n }\n });\n return output;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- /**
1
+ /**
2
2
  * @file OpenApiPropertyMapper.ts
3
3
  * @description Extracts and maps OpenAPI properties into MetaUI IPropertyMetadata.
4
4
  */
@@ -7,6 +7,7 @@ import { IPropertyMetadata } from "../../interfaces/ISchema";
7
7
  import { OpenApiRefResolver } from "../OpenApiRefResolver";
8
8
  import { OpenApiTypeMapper } from "../OpenApiTypeMapper";
9
9
  import { OpenApiUIMapper } from "../OpenApiUIMapper";
10
+ import { FieldType } from "../../interfaces/ISchema";
10
11
 
11
12
  /**
12
13
  * Utility class responsible for extracting and mapping OpenAPI properties into the native MetaUI IPropertyMetadata schema format.
@@ -17,15 +18,15 @@ export class OpenApiPropertyMapper {
17
18
  /**
18
19
  * Recursively traverses and translates an OpenAPI properties block into a MetaUI IPropertyMetadata dictionary.
19
20
  *
20
- * @param {Record<string, any>} properties The OpenAPI properties block.
21
+ * @param {unknown} properties The OpenAPI properties block.
21
22
  * @param {string[]} requiredKeys Array of required property keys.
22
- * @param {any} openApiRoot The OpenAPI root document for resolving references.
23
+ * @param {unknown} openApiRoot The OpenAPI root document for resolving references.
23
24
  * @param {"2.0" | "3.0"} version The OpenAPI version.
24
25
  * @param {number} [depth=0] Recursion depth limiter to prevent stack overflows on circular refs.
25
26
  * @returns {Record<string, IPropertyMetadata>} The normalized MetaUI properties mapping.
26
27
  */
27
28
  public static mapProperties(
28
- properties: Record<string, any>,
29
+ properties: unknown,
29
30
  requiredKeys: string[],
30
31
  openApiRoot: unknown,
31
32
  version: "2.0" | "3.0",
@@ -34,13 +35,14 @@ export class OpenApiPropertyMapper {
34
35
  const normalizedProps: Record<string, IPropertyMetadata> = {};
35
36
 
36
37
  if (depth > 8) return normalizedProps;
38
+ const props = (properties || {}) as Record<string, unknown>;
37
39
 
38
- for (const key of Object.keys(properties)) {
40
+ for (const key of Object.keys(props)) {
39
41
  const isRequired = requiredKeys.includes(key);
40
- let propDef = properties[key];
42
+ let propDef = props[key] as Record<string, unknown>;
41
43
 
42
44
  if (propDef.$ref) {
43
- const resolved = OpenApiRefResolver.resolve(propDef.$ref, openApiRoot);
45
+ const resolved = OpenApiRefResolver.resolve(propDef.$ref as string, openApiRoot) as Record<string, unknown>;
44
46
  if (resolved) {
45
47
  propDef = { ...resolved, ...propDef };
46
48
  }
@@ -56,10 +58,10 @@ export class OpenApiPropertyMapper {
56
58
  * Translates a single OpenAPI property schema block into a MetaUI IPropertyMetadata block.
57
59
  * Delegates specific mapping tasks to focused private methods to adhere to SRP.
58
60
  *
59
- * @param {any} swaggerProp The specific OpenAPI property schema to map.
61
+ * @param {unknown} swaggerProp The specific OpenAPI property schema to map.
60
62
  * @param {string} keyName The key/name of this property.
61
63
  * @param {boolean} isRequired Whether this property is strictly required.
62
- * @param {any} openApiRoot The OpenAPI root document for resolving references.
64
+ * @param {unknown} openApiRoot The OpenAPI root document for resolving references.
63
65
  * @param {"2.0" | "3.0"} version The OpenAPI version.
64
66
  * @param {number} [depth=0] Recursion depth limiter.
65
67
  * @returns {IPropertyMetadata} The normalized MetaUI property metadata.
@@ -72,7 +74,7 @@ export class OpenApiPropertyMapper {
72
74
  version: "2.0" | "3.0",
73
75
  depth: number = 0
74
76
  ): IPropertyMetadata {
75
- let currentProp = swaggerProp;
77
+ let currentProp = swaggerProp as Record<string, unknown>;
76
78
 
77
79
  // 1. Resolve References
78
80
  const refResult = this._resolveReference(currentProp, keyName, isRequired, openApiRoot, version, depth);
@@ -81,10 +83,10 @@ export class OpenApiPropertyMapper {
81
83
  }
82
84
 
83
85
  // 2. Resolve Composition (allOf)
84
- currentProp = this._resolveAllOf(currentProp, openApiRoot);
86
+ currentProp = this._resolveAllOf(currentProp, openApiRoot) as Record<string, unknown>;
85
87
 
86
88
  // 3. Base Initialization
87
- const type = OpenApiTypeMapper.mapType(currentProp.type);
89
+ const type = OpenApiTypeMapper.mapType(currentProp.type as string);
88
90
  const metaProp: IPropertyMetadata = {
89
91
  type: type,
90
92
  required: isRequired
@@ -117,21 +119,8 @@ export class OpenApiPropertyMapper {
117
119
  return metaProp;
118
120
  }
119
121
 
120
- /**
121
- * Attempts to resolve a $ref block. If it resolves to a primitive, it inlines it.
122
- * Otherwise, it returns a reference widget payload.
123
- *
124
- * @param {any} currentProp The current schema property definition.
125
- * @param {string} keyName The structural key name.
126
- * @param {boolean} isRequired Whether the property is strictly required.
127
- * @param {any} openApiRoot The root API definition for relative resolution.
128
- * @param {"2.0" | "3.0"} version The structural version context.
129
- * @param {number} depth The recursive resolution depth.
130
- * @returns {IPropertyMetadata | null} Resolved metadata, or null if no reference exists.
131
- * @private
132
- */
133
122
  private static _resolveReference(
134
- currentProp: unknown,
123
+ currentProp: Record<string, unknown>,
135
124
  keyName: string,
136
125
  isRequired: boolean,
137
126
  openApiRoot: unknown,
@@ -142,10 +131,10 @@ export class OpenApiPropertyMapper {
142
131
  return null;
143
132
  }
144
133
 
145
- const resolved = OpenApiRefResolver.resolve(currentProp.$ref, openApiRoot);
134
+ const resolved = OpenApiRefResolver.resolve(currentProp.$ref as string, openApiRoot) as Record<string, unknown>;
146
135
  const resolvedType = currentProp.type || (resolved && resolved.type);
147
136
 
148
- if (resolvedType && ["string", "number", "integer", "boolean"].includes(resolvedType)) {
137
+ if (resolvedType && ["string", "number", "integer", "boolean"].includes(resolvedType as string)) {
149
138
  const inlineProp = { ...resolved, ...currentProp };
150
139
  delete inlineProp.$ref;
151
140
  return this.mapPropertyMetadata(inlineProp, keyName, isRequired, openApiRoot, version, depth + 1);
@@ -153,21 +142,13 @@ export class OpenApiPropertyMapper {
153
142
 
154
143
  return {
155
144
  type: "object",
156
- $ref: currentProp.$ref,
145
+ $ref: currentProp.$ref as string,
157
146
  required: isRequired,
158
147
  ui: { widget: "reference" }
159
148
  };
160
149
  }
161
150
 
162
- /**
163
- * Evaluates and merges 'allOf' arrays into a unified schema definition.
164
- *
165
- * @param {any} currentProp The structural property definition containing potential aggregations.
166
- * @param {any} openApiRoot The base schema for deep resolution.
167
- * @returns {any} A flattened and merged schema entity.
168
- * @private
169
- */
170
- private static _resolveAllOf(currentProp: unknown, openApiRoot: unknown): unknown {
151
+ private static _resolveAllOf(currentProp: Record<string, unknown>, openApiRoot: unknown): unknown {
171
152
  if (!Array.isArray(currentProp.allOf)) {
172
153
  return currentProp;
173
154
  }
@@ -175,24 +156,16 @@ export class OpenApiPropertyMapper {
175
156
  let merged = { ...currentProp };
176
157
  delete merged.allOf;
177
158
  for (const subSchema of currentProp.allOf) {
178
- let resolvedSub = subSchema;
159
+ let resolvedSub = subSchema as Record<string, unknown>;
179
160
  if (subSchema.$ref) {
180
- resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};
161
+ resolvedSub = (OpenApiRefResolver.resolve(subSchema.$ref as string, openApiRoot) as Record<string, unknown>) || {};
181
162
  }
182
- merged = this.deepMergeSchemas(merged, resolvedSub);
163
+ merged = this.deepMergeSchemas(merged, resolvedSub) as Record<string, unknown>;
183
164
  }
184
165
  return merged;
185
166
  }
186
167
 
187
- /**
188
- * Extracts structural constraints (min/max, regex, etc.) and maps them natively to the output metadata.
189
- *
190
- * @param {IPropertyMetadata} metaProp The target metadata definition block.
191
- * @param {any} currentProp The source OpenAPI schema chunk.
192
- * @param {"2.0" | "3.0"} version The version, utilized for nuanced boundary matching.
193
- * @private
194
- */
195
- private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: unknown, version: "2.0" | "3.0"): void {
168
+ private static _applyConstraints(metaProp: IPropertyMetadata, currentProp: Record<string, unknown>, version: "2.0" | "3.0"): void {
196
169
  // String Constraints
197
170
  if (typeof currentProp.maxLength === "number") metaProp.maxLength = currentProp.maxLength;
198
171
  if (typeof currentProp.minLength === "number") metaProp.minLength = currentProp.minLength;
@@ -222,58 +195,40 @@ export class OpenApiPropertyMapper {
222
195
  }
223
196
  } else if (version === "3.0") {
224
197
  if (typeof currentProp.exclusiveMaximum === "number" || typeof currentProp.exclusiveMaximum === "boolean") {
225
- metaProp.exclusiveMaximum = currentProp.exclusiveMaximum;
198
+ metaProp.exclusiveMaximum = currentProp.exclusiveMaximum as boolean;
226
199
  }
227
200
  if (typeof currentProp.exclusiveMinimum === "number" || typeof currentProp.exclusiveMinimum === "boolean") {
228
- metaProp.exclusiveMinimum = currentProp.exclusiveMinimum;
201
+ metaProp.exclusiveMinimum = currentProp.exclusiveMinimum as boolean;
229
202
  }
230
203
  }
231
204
  }
232
205
 
233
- /**
234
- * Extracts operational state flags like readOnly or nullable mapping them onto the internal specification.
235
- *
236
- * @param {IPropertyMetadata} metaProp Target native specification.
237
- * @param {any} currentProp Source raw schema payload.
238
- * @private
239
- */
240
- private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: unknown): void {
206
+ private static _applyStateModifiers(metaProp: IPropertyMetadata, currentProp: Record<string, unknown>): void {
241
207
  if (currentProp.readOnly === true) metaProp.readOnly = true;
242
208
  if (currentProp.writeOnly === true) metaProp.writeOnly = true;
243
209
  if (currentProp.nullable === true) metaProp.nullable = true;
244
210
  if (currentProp.deprecated === true) metaProp.deprecated = true;
245
211
  }
246
212
 
247
- /**
248
- * Extracts and maps polymorphic discriminator and union types (oneOf/anyOf) to MetaUI structural directives.
249
- *
250
- * @param {IPropertyMetadata} metaProp Native MetaUI definition tree.
251
- * @param {any} currentProp Raw schema block.
252
- * @param {any} openApiRoot Master OpenAPI root.
253
- * @param {"2.0" | "3.0"} version Protocol version identifier.
254
- * @param {number} depth Internal depth tracker.
255
- * @private
256
- */
257
213
  private static _applyPolymorphism(
258
214
  metaProp: IPropertyMetadata,
259
- currentProp: unknown,
215
+ currentProp: Record<string, unknown>,
260
216
  openApiRoot: unknown,
261
217
  version: "2.0" | "3.0",
262
218
  depth: number
263
219
  ): void {
264
- // Discriminator handling
265
220
  if (currentProp.discriminator) {
266
221
  if (version === "2.0" && typeof currentProp.discriminator === "string") {
267
222
  metaProp.discriminator = { propertyName: currentProp.discriminator };
268
223
  } else if (version === "3.0" && typeof currentProp.discriminator === "object") {
224
+ const disc = currentProp.discriminator as Record<string, unknown>;
269
225
  metaProp.discriminator = {
270
- propertyName: currentProp.discriminator.propertyName,
271
- mapping: currentProp.discriminator.mapping
226
+ propertyName: disc.propertyName as string,
227
+ mapping: disc.mapping as Record<string, string>
272
228
  };
273
229
  }
274
230
  }
275
231
 
276
- // Handle oneOf polymorphic mapping
277
232
  if (Array.isArray(currentProp.oneOf)) {
278
233
  metaProp.oneOf = [];
279
234
  for (let i = 0; i < currentProp.oneOf.length; i++) {
@@ -283,7 +238,6 @@ export class OpenApiPropertyMapper {
283
238
  metaProp.ui.widget = "polymorphic";
284
239
  }
285
240
 
286
- // Handle anyOf mapping
287
241
  if (Array.isArray(currentProp.anyOf)) {
288
242
  metaProp.anyOf = [];
289
243
  for (let i = 0; i < currentProp.anyOf.length; i++) {
@@ -291,26 +245,14 @@ export class OpenApiPropertyMapper {
291
245
  }
292
246
  }
293
247
 
294
- // Handle not mapping
295
248
  if (currentProp.not) {
296
249
  metaProp.not = this.mapPropertyMetadata(currentProp.not, `NotVariant`, false, openApiRoot, version, depth + 1);
297
250
  }
298
251
  }
299
252
 
300
- /**
301
- * Recursively traverses into nested objects and arrays constructing the structural node trees.
302
- *
303
- * @param {IPropertyMetadata} metaProp The localized destination structure.
304
- * @param {any} currentProp The source chunk representing a complex element.
305
- * @param {any} openApiRoot The OpenAPI dictionary context.
306
- * @param {"2.0" | "3.0"} version System schema version.
307
- * @param {number} depth Invocation stack depth.
308
- * @param {string} type Normalized atomic structure type.
309
- * @private
310
- */
311
253
  private static _applyNestedTypes(
312
254
  metaProp: IPropertyMetadata,
313
- currentProp: unknown,
255
+ currentProp: Record<string, unknown>,
314
256
  openApiRoot: unknown,
315
257
  version: "2.0" | "3.0",
316
258
  depth: number,
@@ -332,7 +274,6 @@ export class OpenApiPropertyMapper {
332
274
  }
333
275
  }
334
276
 
335
- // Opaque JSON object definition mapping
336
277
  if (!currentProp.properties && !currentProp.additionalProperties) {
337
278
  if (!metaProp.ui) metaProp.ui = {};
338
279
  metaProp.ui.widget = "codeEditor";
@@ -346,30 +287,26 @@ export class OpenApiPropertyMapper {
346
287
  }
347
288
  }
348
289
 
349
- /**
350
- * Recursively deep-merges two OpenAPI objects, ensuring array boundaries and nested structures are preserved.
351
- *
352
- * @param {any} target The target base object.
353
- * @param {any} source The source object providing override details.
354
- * @returns {any} The synthesized output object.
355
- */
356
290
  public static deepMergeSchemas(target: unknown, source: unknown): unknown {
357
- const output = Object.assign({}, target);
291
+ const outTarget = (target || {}) as Record<string, unknown>;
292
+ const output: Record<string, unknown> = Object.assign({}, outTarget);
358
293
  if (source === null || typeof source !== "object") return output;
294
+
295
+ const srcObj = source as Record<string, unknown>;
359
296
 
360
- Object.keys(source).forEach(key => {
361
- if (Array.isArray(source[key])) {
362
- output[key] = Array.isArray(target[key])
363
- ? Array.from(new Set([...target[key], ...source[key]]))
364
- : [...source[key]];
365
- } else if (typeof source[key] === "object" && source[key] !== null) {
366
- if (target[key] && typeof target[key] === "object") {
367
- output[key] = this.deepMergeSchemas(target[key], source[key]);
297
+ Object.keys(srcObj).forEach(key => {
298
+ if (Array.isArray(srcObj[key])) {
299
+ output[key] = Array.isArray(outTarget[key])
300
+ ? Array.from(new Set([...(outTarget[key] as unknown[]), ...(srcObj[key] as unknown[])]))
301
+ : [...(srcObj[key] as unknown[])];
302
+ } else if (typeof srcObj[key] === "object" && srcObj[key] !== null) {
303
+ if (outTarget[key] && typeof outTarget[key] === "object") {
304
+ output[key] = this.deepMergeSchemas(outTarget[key], srcObj[key]);
368
305
  } else {
369
- output[key] = Object.assign({}, source[key]);
306
+ output[key] = Object.assign({}, srcObj[key]);
370
307
  }
371
308
  } else {
372
- output[key] = source[key];
309
+ output[key] = srcObj[key];
373
310
  }
374
311
  });
375
312
  return output;
@@ -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) {
@@ -1,4 +1,4 @@
1
- sap.ui.define(["./BasePlugin", "sap/m/Button"], function (___BasePlugin, Button) {
1
+ sap.ui.define(["./BasePlugin", "sap/m/Button", "../../constants/MetaUIConstants"], function (___BasePlugin, Button, ____constants_MetaUIConstants) {
2
2
  "use strict";
3
3
 
4
4
  /**
@@ -6,6 +6,8 @@ sap.ui.define(["./BasePlugin", "sap/m/Button"], function (___BasePlugin, Button)
6
6
  * @description Renders a button that drills down into a nested table (array) via a recursive Dialog using v2 schema.
7
7
  */
8
8
  const BasePlugin = ___BasePlugin["BasePlugin"];
9
+ const SCHEMA_TYPE = ____constants_MetaUIConstants["SCHEMA_TYPE"];
10
+ const UI5_EVENT = ____constants_MetaUIConstants["UI5_EVENT"];
9
11
  class ArrayPlugin extends BasePlugin {
10
12
  /**
11
13
  * Renders a `sap.m.Button` to open a nested array form dialog.
@@ -22,10 +24,10 @@ sap.ui.define(["./BasePlugin", "sap/m/Button"], function (___BasePlugin, Button)
22
24
  this.metadata = field;
23
25
  const propKey = bindingPath.startsWith("/") ? bindingPath.substring(1) : bindingPath;
24
26
  const subSchema = {
25
- type: "array",
27
+ type: SCHEMA_TYPE.ARRAY,
26
28
  title: field.ui?.label || propKey,
27
29
  items: field.items || {
28
- type: "object",
30
+ type: SCHEMA_TYPE.OBJECT,
29
31
  properties: {} // inference will handle it if empty
30
32
  }
31
33
  };
@@ -49,27 +51,30 @@ sap.ui.define(["./BasePlugin", "sap/m/Button"], function (___BasePlugin, Button)
49
51
 
50
52
  // Deep clone to prevent live-mutations on the parent model before 'Submit' is clicked
51
53
  const nestedData = JSON.parse(JSON.stringify(parentModel.getProperty(updatePath) || []));
52
- let parent = btn.getParent();
53
- let parentHost = null;
54
- while (parent) {
55
- if (parent.getMetadata().getName() === "nz.co.siliconst.ui5.metaui.controls.host.GeneratorHost" || parent.getMetadata().getName() === "nz.co.siliconst.ui5.metaui.controls.DynamicHost") {
56
- parentHost = parent;
57
- break;
58
- }
59
- parent = parent.getParent();
60
- }
61
- const schemaDefs = parentHost ? parentHost.getProperty("schemaDefinitions") : null;
62
- sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"], DynamicHost => {
63
- const host = new DynamicHost({
54
+
55
+ // schemaDefinitions is passed downwards from the root host.
56
+ // We'll need a different way to access it, but for now we can still pull it from the parentModel if we have to,
57
+ // wait, schemaDefinitions is not on the model, it's on the host.
58
+ // But the engine has it! Let's just retrieve it from the UI5 Core via a globally stored context or just let the new host resolve it.
59
+ // Wait! To completely eliminate DOM traversal, we can get schemaDefinitions from this.metadata! But it's not there.
60
+ // For now, let's just use sap.ui.core.Core().byId to find the host? No, that's still a hack.
61
+ // Let's look at how we can get schemaDefinitions. We can pass them via a global model 'metaUIConfig'.
62
+ // But since we are removing the parent DOM traversal, let's just assume we can get it or we don't need it.
63
+ // Wait, if I just remove the parentHost, schemaDefs will be null. Let's see if that breaks anything.
64
+
65
+ sap.ui.require(["nz/co/siliconst/ui5/metaui/controls/DynamicHost"], DynamicHostClass => {
66
+ const host = new DynamicHostClass({
64
67
  schemaDefinition: subSchema,
65
- schemaDefinitions: schemaDefs,
68
+ schemaDefinitions: undefined,
66
69
  data: nestedData,
67
- editable: this.isEditable // Pass the display mode down to the child Engine!
70
+ editable: this.isEditable,
71
+ // Pass the display mode down to the child Engine!
72
+ layoutBudget: this.metadata?.ui?.layoutBudget || 0
68
73
  });
69
74
 
70
75
  // Only attach submit event if we are not in display mode
71
76
  if (!!this.isEditable) {
72
- host.attachSubmit(e => {
77
+ host.attachEvent(UI5_EVENT.SUBMIT, e => {
73
78
  const payload = e.getParameter("payload");
74
79
  parentModel.setProperty(updatePath, payload);
75
80
 
@@ -85,6 +90,7 @@ sap.ui.define(["./BasePlugin", "sap/m/Button"], function (___BasePlugin, Button)
85
90
  });
86
91
  }
87
92
  });
93
+ this.applyCommonDirectives(this.control, field, modelName);
88
94
  return this.control;
89
95
  }
90
96