@siliconst/metaui 1.4.17 → 1.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig-dbg.js +47 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.d.ts +28 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/AIConfig.ts +39 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js +83 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts +30 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/BaseAIGenerator.ts +74 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy-dbg.js +61 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.d.ts +13 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/MockLLMProxy.ts +59 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js +50 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.d.ts +12 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/ai/RestLLMProxy.ts +44 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js +87 -16
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts +20 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/DynamicHost.ts +79 -18
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js +44 -4
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts +23 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/GeneratorHost.ts +35 -5
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js +35 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts +8 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/DataSyncDelegate.ts +37 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js +13 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts +4 -0
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/controls/host/delegates/ODataDelegate.ts +13 -0
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js +11 -32
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/DefaultLayoutGenerator.ts +9 -13
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js +14 -6
- package/src/nz/co/siliconst/ui5/metaui/core/Engine-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts +7 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/Engine.ts +21 -11
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js +6 -0
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/PluginRegistry.ts +6 -0
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaBuilderRegistry.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js +4 -4
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaNormalizer.ts +10 -10
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/core/SchemaValidator.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/IPlugin.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts +19 -3
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchema.ts +22 -3
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.d.ts +3 -2
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/interfaces/ISchemaBuilderPlugin.ts +3 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js +18 -2
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/layouts/TableLayout.ts +19 -2
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js +66 -44
- package/src/nz/co/siliconst/ui5/metaui/library-preload.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.d.ts +4 -0
- package/src/nz/co/siliconst/ui5/metaui/library.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/library.ts +6 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder-dbg.js +93 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.d.ts +52 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiBuilder.ts +88 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js +47 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiParserFactory.ts +43 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js +68 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiRefResolver.ts +61 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper-dbg.js +45 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.d.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/{swagger/SwaggerTypeMapper.js → openapi/OpenApiTypeMapper.js} +2 -2
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiTypeMapper.ts +36 -0
- package/src/nz/co/siliconst/ui5/metaui/{swagger/SwaggerUIMapper-dbg.js → openapi/OpenApiUIMapper-dbg.js} +29 -17
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts +34 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/OpenApiUIMapper.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/{swagger/SwaggerUIMapper.ts → openapi/OpenApiUIMapper.ts} +28 -16
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js +50 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.d.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/OpenApiHeuristicEngine.ts +43 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin-dbg.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts +23 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.ts +21 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js +117 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts +47 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts +113 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin-dbg.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.d.ts +26 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js +106 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts +27 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts +104 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js +107 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts +27 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi3Parser.ts +105 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js +347 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts +110 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApiPropertyMapper.ts +377 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ArrayPlugin.ts +13 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BarcodeScannerPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js +31 -7
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts +17 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BasePlugin.ts +33 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/BooleanPlugin.ts +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CameraPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/CodeEditorPlugin.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js +4 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DatePlugin.ts +4 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js +4 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DateTimePlugin.ts +4 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js +217 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts +26 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DictionaryMapPlugin.ts +249 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/DropdownPlugin.ts +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js +48 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/EmailPlugin.ts +48 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/FileUploaderPlugin.ts +3 -3
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/GeolocationPlugin.ts +4 -5
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js +58 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/LinkPlugin.ts +57 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MessageStripPlugin.ts +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js +115 -49
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts +17 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiInputPlugin.ts +114 -54
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/MultiSelectPlugin.ts +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js +3 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/NumberPlugin.ts +3 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js +49 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts +11 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/PasswordPlugin.ts +49 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RatingIndicatorPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js +194 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts +25 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/ReferencePlugin.ts +192 -0
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/RichTextPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SignaturePlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SliderPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StepInputPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/StringPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/SwitchPlugin.ts +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TextAreaPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js +4 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/TimePlugin.ts +4 -8
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.d.ts.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/controls/VoiceInputPlugin.ts +3 -4
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/LiveSearchPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js +2 -2
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin-dbg.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.js.map +1 -1
- package/src/nz/co/siliconst/ui5/metaui/plugins/datasources/RemoteValueHelpPlugin.ts +2 -2
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor-dbg.js +146 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor-dbg.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.d.ts +27 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.d.ts.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.js +2 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.js.map +1 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/OpenApiExtractor.ts +160 -0
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder-dbg.js +0 -226
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.d.ts +0 -63
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerBuilder.ts +0 -233
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver-dbg.js +0 -43
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.d.ts +0 -15
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerRefResolver.ts +0 -37
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper-dbg.js +0 -37
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.d.ts +0 -18
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerTypeMapper.ts +0 -28
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper-dbg.js.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.d.ts +0 -27
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.d.ts.map +0 -1
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.js +0 -2
- package/src/nz/co/siliconst/ui5/metaui/swagger/SwaggerUIMapper.js.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin" {
|
|
2
|
+
/**
|
|
3
|
+
* @file IHeuristicPlugin.ts
|
|
4
|
+
* @description Contract for plugins that inspect and mutate the raw OpenAPI AST before translation.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Interface defining the operational boundaries for structural heuristic plugins.
|
|
8
|
+
* Implementations are executed synchronously during the pre-processing phase to normalize
|
|
9
|
+
* non-standard schema constructs (like generic object unions) before translation occurs.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface IHeuristicPlugin {
|
|
14
|
+
/**
|
|
15
|
+
* Evaluates and mutates the provided OpenAPI AST in-place.
|
|
16
|
+
* Heuristics are expected to strictly scope their mutations to patterns they explicitly recognize.
|
|
17
|
+
*
|
|
18
|
+
* @param {any} openApiRoot The mutable OpenAPI root document block.
|
|
19
|
+
*/
|
|
20
|
+
apply(openApiRoot: unknown): void;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=IHeuristicPlugin.d.ts.map
|
package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHeuristicPlugin.d.ts","sourceRoot":"../../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2EAA2E,CAAC;IAC3F;;;OAGG;IAEH;;;;;;OAMG;IACH,UAAiB,gBAAgB;QAC7B;;;;;WAKG;QACH,KAAK,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;KACrC;CAEA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IHeuristicPlugin.js","names":[],"sources":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file IHeuristicPlugin.ts
|
|
3
|
+
* @description Contract for plugins that inspect and mutate the raw OpenAPI AST before translation.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Interface defining the operational boundaries for structural heuristic plugins.
|
|
8
|
+
* Implementations are executed synchronously during the pre-processing phase to normalize
|
|
9
|
+
* non-standard schema constructs (like generic object unions) before translation occurs.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export interface IHeuristicPlugin {
|
|
14
|
+
/**
|
|
15
|
+
* Evaluates and mutates the provided OpenAPI AST in-place.
|
|
16
|
+
* Heuristics are expected to strictly scope their mutations to patterns they explicitly recognize.
|
|
17
|
+
*
|
|
18
|
+
* @param {any} openApiRoot The mutable OpenAPI root document block.
|
|
19
|
+
*/
|
|
20
|
+
apply(openApiRoot: unknown): void;
|
|
21
|
+
}
|
package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic-dbg.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
sap.ui.define([], function () {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file ProtobufVariantHeuristic.ts
|
|
6
|
+
* @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)
|
|
11
|
+
* and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
class ProtobufVariantHeuristic {
|
|
16
|
+
/**
|
|
17
|
+
* Executes the heuristic logic against the OpenAPI AST.
|
|
18
|
+
* Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.
|
|
19
|
+
*
|
|
20
|
+
* @param {any} openApiRoot The entire OpenAPI root document.
|
|
21
|
+
*/
|
|
22
|
+
apply(openApiRoot) {
|
|
23
|
+
if (!openApiRoot) return;
|
|
24
|
+
|
|
25
|
+
// In OpenAPI 2.0, scan definitions
|
|
26
|
+
if (openApiRoot.swagger === "2.0" && openApiRoot.definitions) {
|
|
27
|
+
this._scanDefinitions(openApiRoot.definitions);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Iterates over all root-level definitions to detect and mutate variant structures.
|
|
33
|
+
*
|
|
34
|
+
* @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
_scanDefinitions(definitions) {
|
|
38
|
+
for (const [key, definition] of Object.entries(definitions)) {
|
|
39
|
+
// Heuristic 1: If the object name ends with "Value" and has multiple optional properties
|
|
40
|
+
// that end with "_value" (common Protobuf JSON representation for variants)
|
|
41
|
+
if (this._isProtobufVariant(key, definition)) {
|
|
42
|
+
this._mutateToOneOf(definition);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Evaluates a schema block against the heuristic signature of a Protobuf Variant.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} key The schema definition name.
|
|
51
|
+
* @param {any} definition The structural definition block.
|
|
52
|
+
* @returns {boolean} True if the structure matches a Protobuf variant pattern.
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
_isProtobufVariant(key, definition) {
|
|
56
|
+
if (definition.type !== "object" || !definition.properties) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Must not have required fields if it's a pure union
|
|
61
|
+
if (definition.required && definition.required.length > 0) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
const propKeys = Object.keys(definition.properties);
|
|
65
|
+
if (propKeys.length < 2) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Check if all properties end with "_value" (e.g. bool_value, list_value)
|
|
70
|
+
const allEndWithValue = propKeys.every(k => k.endsWith("_value"));
|
|
71
|
+
if (allEndWithValue && (key.endsWith("Value") || key.endsWith("Variant"))) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties
|
|
79
|
+
* and strictly purging the original object layout to force polymorphic evaluation.
|
|
80
|
+
*
|
|
81
|
+
* @param {any} definition The target variant object schema.
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
_mutateToOneOf(definition) {
|
|
85
|
+
const propKeys = Object.keys(definition.properties);
|
|
86
|
+
const oneOfArray = [];
|
|
87
|
+
for (const propKey of propKeys) {
|
|
88
|
+
const variantSchema = definition.properties[propKey];
|
|
89
|
+
|
|
90
|
+
// Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property
|
|
91
|
+
const syntheticVariant = {
|
|
92
|
+
type: "object",
|
|
93
|
+
properties: {
|
|
94
|
+
[propKey]: variantSchema
|
|
95
|
+
},
|
|
96
|
+
required: [propKey],
|
|
97
|
+
title: variantSchema.description || propKey
|
|
98
|
+
};
|
|
99
|
+
oneOfArray.push(syntheticVariant);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Mutate the original definition to become a oneOf root
|
|
103
|
+
definition.oneOf = oneOfArray;
|
|
104
|
+
|
|
105
|
+
// CRITICAL DESTRUCTIVE MUTATION:
|
|
106
|
+
// We delete the original properties block. If this is not done, the core engine's layout
|
|
107
|
+
// orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.
|
|
108
|
+
delete definition.properties;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
var __exports = {
|
|
112
|
+
__esModule: true
|
|
113
|
+
};
|
|
114
|
+
__exports.ProtobufVariantHeuristic = ProtobufVariantHeuristic;
|
|
115
|
+
return __exports;
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=ProtobufVariantHeuristic-dbg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtobufVariantHeuristic-dbg.js","names":["ProtobufVariantHeuristic","apply","openApiRoot","swagger","definitions","_scanDefinitions","key","definition","Object","entries","_isProtobufVariant","_mutateToOneOf","type","properties","required","length","propKeys","keys","allEndWithValue","every","k","endsWith","oneOfArray","propKey","variantSchema","syntheticVariant","title","description","push","oneOf","__exports","__esModule"],"sources":["ProtobufVariantHeuristic.ts"],"sourcesContent":["/**\n * @file ProtobufVariantHeuristic.ts\n * @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.\n */\n\nimport { IHeuristicPlugin } from \"../interfaces/IHeuristicPlugin\";\n\n/**\n * Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)\n * and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.\n * \n * @public\n */\nexport class ProtobufVariantHeuristic implements IHeuristicPlugin {\n /**\n * Executes the heuristic logic against the OpenAPI AST.\n * Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.\n * \n * @param {any} openApiRoot The entire OpenAPI root document.\n */\n public apply(openApiRoot: unknown): void {\n if (!openApiRoot) return;\n\n // In OpenAPI 2.0, scan definitions\n if (openApiRoot.swagger === \"2.0\" && openApiRoot.definitions) {\n this._scanDefinitions(openApiRoot.definitions);\n }\n }\n\n /**\n * Iterates over all root-level definitions to detect and mutate variant structures.\n * \n * @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.\n * @private\n */\n private _scanDefinitions(definitions: Record<string, any>): void {\n for (const [key, definition] of Object.entries(definitions)) {\n // Heuristic 1: If the object name ends with \"Value\" and has multiple optional properties \n // that end with \"_value\" (common Protobuf JSON representation for variants)\n if (this._isProtobufVariant(key, definition)) {\n this._mutateToOneOf(definition);\n }\n }\n }\n\n /**\n * Evaluates a schema block against the heuristic signature of a Protobuf Variant.\n * \n * @param {string} key The schema definition name.\n * @param {any} definition The structural definition block.\n * @returns {boolean} True if the structure matches a Protobuf variant pattern.\n * @private\n */\n private _isProtobufVariant(key: string, definition: unknown): boolean {\n if (definition.type !== \"object\" || !definition.properties) {\n return false;\n }\n\n // Must not have required fields if it's a pure union\n if (definition.required && definition.required.length > 0) {\n return false;\n }\n\n const propKeys = Object.keys(definition.properties);\n if (propKeys.length < 2) {\n return false;\n }\n\n // Check if all properties end with \"_value\" (e.g. bool_value, list_value)\n const allEndWithValue = propKeys.every(k => k.endsWith(\"_value\"));\n if (allEndWithValue && (key.endsWith(\"Value\") || key.endsWith(\"Variant\"))) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties\n * and strictly purging the original object layout to force polymorphic evaluation.\n * \n * @param {any} definition The target variant object schema.\n * @private\n */\n private _mutateToOneOf(definition: unknown): void {\n const propKeys = Object.keys(definition.properties);\n const oneOfArray: unknown[] = [];\n\n for (const propKey of propKeys) {\n const variantSchema = definition.properties[propKey];\n \n // Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property\n const syntheticVariant = {\n type: \"object\",\n properties: {\n [propKey]: variantSchema\n },\n required: [propKey],\n title: variantSchema.description || propKey\n };\n \n oneOfArray.push(syntheticVariant);\n }\n\n // Mutate the original definition to become a oneOf root\n definition.oneOf = oneOfArray;\n \n // CRITICAL DESTRUCTIVE MUTATION:\n // We delete the original properties block. If this is not done, the core engine's layout\n // orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.\n delete definition.properties;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;;EAIA;AACA;AACA;AACA;AACA;AACA;EACO,MAAMA,wBAAwB,CAA6B;IAC9D;AACJ;AACA;AACA;AACA;AACA;IACWC,KAAKA,CAACC,WAAoB,EAAQ;MACrC,IAAI,CAACA,WAAW,EAAE;;MAElB;MACA,IAAIA,WAAW,CAACC,OAAO,KAAK,KAAK,IAAID,WAAW,CAACE,WAAW,EAAE;QAC1D,IAAI,CAACC,gBAAgB,CAACH,WAAW,CAACE,WAAW,CAAC;MAClD;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACYC,gBAAgBA,CAACD,WAAgC,EAAQ;MAC7D,KAAK,MAAM,CAACE,GAAG,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACL,WAAW,CAAC,EAAE;QACzD;QACA;QACA,IAAI,IAAI,CAACM,kBAAkB,CAACJ,GAAG,EAAEC,UAAU,CAAC,EAAE;UAC1C,IAAI,CAACI,cAAc,CAACJ,UAAU,CAAC;QACnC;MACJ;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;IACYG,kBAAkBA,CAACJ,GAAW,EAAEC,UAAmB,EAAW;MAClE,IAAIA,UAAU,CAACK,IAAI,KAAK,QAAQ,IAAI,CAACL,UAAU,CAACM,UAAU,EAAE;QACxD,OAAO,KAAK;MAChB;;MAEA;MACA,IAAIN,UAAU,CAACO,QAAQ,IAAIP,UAAU,CAACO,QAAQ,CAACC,MAAM,GAAG,CAAC,EAAE;QACvD,OAAO,KAAK;MAChB;MAEA,MAAMC,QAAQ,GAAGR,MAAM,CAACS,IAAI,CAACV,UAAU,CAACM,UAAU,CAAC;MACnD,IAAIG,QAAQ,CAACD,MAAM,GAAG,CAAC,EAAE;QACrB,OAAO,KAAK;MAChB;;MAEA;MACA,MAAMG,eAAe,GAAGF,QAAQ,CAACG,KAAK,CAACC,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,QAAQ,CAAC,CAAC;MACjE,IAAIH,eAAe,KAAKZ,GAAG,CAACe,QAAQ,CAAC,OAAO,CAAC,IAAIf,GAAG,CAACe,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;QACvE,OAAO,IAAI;MACf;MAEA,OAAO,KAAK;IAChB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;IACYV,cAAcA,CAACJ,UAAmB,EAAQ;MAC9C,MAAMS,QAAQ,GAAGR,MAAM,CAACS,IAAI,CAACV,UAAU,CAACM,UAAU,CAAC;MACnD,MAAMS,UAAqB,GAAG,EAAE;MAEhC,KAAK,MAAMC,OAAO,IAAIP,QAAQ,EAAE;QAC5B,MAAMQ,aAAa,GAAGjB,UAAU,CAACM,UAAU,CAACU,OAAO,CAAC;;QAEpD;QACA,MAAME,gBAAgB,GAAG;UACrBb,IAAI,EAAE,QAAQ;UACdC,UAAU,EAAE;YACR,CAACU,OAAO,GAAGC;UACf,CAAC;UACDV,QAAQ,EAAE,CAACS,OAAO,CAAC;UACnBG,KAAK,EAAEF,aAAa,CAACG,WAAW,IAAIJ;QACxC,CAAC;QAEDD,UAAU,CAACM,IAAI,CAACH,gBAAgB,CAAC;MACrC;;MAEA;MACAlB,UAAU,CAACsB,KAAK,GAAGP,UAAU;;MAE7B;MACA;MACA;MACA,OAAOf,UAAU,CAACM,UAAU;IAChC;EACJ;EAAC,IAAAiB,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAA9B,wBAAA,GAAAA,wBAAA;EAAA,OAAA8B,SAAA;AAAA","ignoreList":[]}
|
package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic" {
|
|
2
|
+
/**
|
|
3
|
+
* @file ProtobufVariantHeuristic.ts
|
|
4
|
+
* @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.
|
|
5
|
+
*/
|
|
6
|
+
import { IHeuristicPlugin } from "nz/co/siliconst/ui5/metaui/openapi/heuristics/interfaces/IHeuristicPlugin";
|
|
7
|
+
/**
|
|
8
|
+
* Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)
|
|
9
|
+
* and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.
|
|
10
|
+
*
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export class ProtobufVariantHeuristic implements IHeuristicPlugin {
|
|
14
|
+
/**
|
|
15
|
+
* Executes the heuristic logic against the OpenAPI AST.
|
|
16
|
+
* Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.
|
|
17
|
+
*
|
|
18
|
+
* @param {any} openApiRoot The entire OpenAPI root document.
|
|
19
|
+
*/
|
|
20
|
+
apply(openApiRoot: unknown): void;
|
|
21
|
+
/**
|
|
22
|
+
* Iterates over all root-level definitions to detect and mutate variant structures.
|
|
23
|
+
*
|
|
24
|
+
* @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
private _scanDefinitions;
|
|
28
|
+
/**
|
|
29
|
+
* Evaluates a schema block against the heuristic signature of a Protobuf Variant.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} key The schema definition name.
|
|
32
|
+
* @param {any} definition The structural definition block.
|
|
33
|
+
* @returns {boolean} True if the structure matches a Protobuf variant pattern.
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
private _isProtobufVariant;
|
|
37
|
+
/**
|
|
38
|
+
* Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties
|
|
39
|
+
* and strictly purging the original object layout to force polymorphic evaluation.
|
|
40
|
+
*
|
|
41
|
+
* @param {any} definition The target variant object schema.
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
private _mutateToOneOf;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=ProtobufVariantHeuristic.d.ts.map
|
package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtobufVariantHeuristic.d.ts","sourceRoot":"../../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,gFAAgF,CAAC;IAChG;;;OAGG;IAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2EAA2E,CAAC;IAE7G;;;;;OAKG;IACH,MAAa,wBAAyB,YAAW,gBAAgB;QAC7D;;;;;WAKG;QACI,KAAK,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;QASxC;;;;;WAKG;QACH,OAAO,CAAC,gBAAgB;QAUxB;;;;;;;WAOG;QACH,OAAO,CAAC,kBAAkB;QAwB1B;;;;;;WAMG;QACH,OAAO,CAAC,cAAc;KA4BzB;CAEA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
sap.ui.define([],function(){"use strict";class e{apply(e){if(!e)return;if(e.swagger==="2.0"&&e.definitions){this._scanDefinitions(e.definitions)}}_scanDefinitions(e){for(const[t,i]of Object.entries(e)){if(this._isProtobufVariant(t,i)){this._mutateToOneOf(i)}}}_isProtobufVariant(e,t){if(t.type!=="object"||!t.properties){return false}if(t.required&&t.required.length>0){return false}const i=Object.keys(t.properties);if(i.length<2){return false}const r=i.every(e=>e.endsWith("_value"));if(r&&(e.endsWith("Value")||e.endsWith("Variant"))){return true}return false}_mutateToOneOf(e){const t=Object.keys(e.properties);const i=[];for(const r of t){const t=e.properties[r];const s={type:"object",properties:{[r]:t},required:[r],title:t.description||r};i.push(s)}e.oneOf=i;delete e.properties}}var t={__esModule:true};t.ProtobufVariantHeuristic=e;return t});
|
|
2
|
+
//# sourceMappingURL=ProtobufVariantHeuristic.js.map
|
package/src/nz/co/siliconst/ui5/metaui/openapi/heuristics/plugins/ProtobufVariantHeuristic.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtobufVariantHeuristic.js","names":["ProtobufVariantHeuristic","apply","openApiRoot","swagger","definitions","this","_scanDefinitions","key","definition","Object","entries","_isProtobufVariant","_mutateToOneOf","type","properties","required","length","propKeys","keys","allEndWithValue","every","k","endsWith","oneOfArray","propKey","variantSchema","syntheticVariant","title","description","push","oneOf","__exports","__esModule"],"sources":["ProtobufVariantHeuristic.ts"],"sourcesContent":["/**\n * @file ProtobufVariantHeuristic.ts\n * @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.\n */\n\nimport { IHeuristicPlugin } from \"../interfaces/IHeuristicPlugin\";\n\n/**\n * Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)\n * and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.\n * \n * @public\n */\nexport class ProtobufVariantHeuristic implements IHeuristicPlugin {\n /**\n * Executes the heuristic logic against the OpenAPI AST.\n * Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.\n * \n * @param {any} openApiRoot The entire OpenAPI root document.\n */\n public apply(openApiRoot: unknown): void {\n if (!openApiRoot) return;\n\n // In OpenAPI 2.0, scan definitions\n if (openApiRoot.swagger === \"2.0\" && openApiRoot.definitions) {\n this._scanDefinitions(openApiRoot.definitions);\n }\n }\n\n /**\n * Iterates over all root-level definitions to detect and mutate variant structures.\n * \n * @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.\n * @private\n */\n private _scanDefinitions(definitions: Record<string, any>): void {\n for (const [key, definition] of Object.entries(definitions)) {\n // Heuristic 1: If the object name ends with \"Value\" and has multiple optional properties \n // that end with \"_value\" (common Protobuf JSON representation for variants)\n if (this._isProtobufVariant(key, definition)) {\n this._mutateToOneOf(definition);\n }\n }\n }\n\n /**\n * Evaluates a schema block against the heuristic signature of a Protobuf Variant.\n * \n * @param {string} key The schema definition name.\n * @param {any} definition The structural definition block.\n * @returns {boolean} True if the structure matches a Protobuf variant pattern.\n * @private\n */\n private _isProtobufVariant(key: string, definition: unknown): boolean {\n if (definition.type !== \"object\" || !definition.properties) {\n return false;\n }\n\n // Must not have required fields if it's a pure union\n if (definition.required && definition.required.length > 0) {\n return false;\n }\n\n const propKeys = Object.keys(definition.properties);\n if (propKeys.length < 2) {\n return false;\n }\n\n // Check if all properties end with \"_value\" (e.g. bool_value, list_value)\n const allEndWithValue = propKeys.every(k => k.endsWith(\"_value\"));\n if (allEndWithValue && (key.endsWith(\"Value\") || key.endsWith(\"Variant\"))) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties\n * and strictly purging the original object layout to force polymorphic evaluation.\n * \n * @param {any} definition The target variant object schema.\n * @private\n */\n private _mutateToOneOf(definition: unknown): void {\n const propKeys = Object.keys(definition.properties);\n const oneOfArray: unknown[] = [];\n\n for (const propKey of propKeys) {\n const variantSchema = definition.properties[propKey];\n \n // Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property\n const syntheticVariant = {\n type: \"object\",\n properties: {\n [propKey]: variantSchema\n },\n required: [propKey],\n title: variantSchema.description || propKey\n };\n \n oneOfArray.push(syntheticVariant);\n }\n\n // Mutate the original definition to become a oneOf root\n definition.oneOf = oneOfArray;\n \n // CRITICAL DESTRUCTIVE MUTATION:\n // We delete the original properties block. If this is not done, the core engine's layout\n // orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.\n delete definition.properties;\n }\n}\n"],"mappings":"yCAaO,MAAMA,EAOFC,MAAMC,GACT,IAAKA,EAAa,OAGlB,GAAIA,EAAYC,UAAY,OAASD,EAAYE,YAAa,CAC1DC,KAAKC,iBAAiBJ,EAAYE,YACtC,CACJ,CAQQE,iBAAiBF,GACrB,IAAK,MAAOG,EAAKC,KAAeC,OAAOC,QAAQN,GAAc,CAGzD,GAAIC,KAAKM,mBAAmBJ,EAAKC,GAAa,CAC1CH,KAAKO,eAAeJ,EACxB,CACJ,CACJ,CAUQG,mBAAmBJ,EAAaC,GACpC,GAAIA,EAAWK,OAAS,WAAaL,EAAWM,WAAY,CACxD,OAAO,KACX,CAGA,GAAIN,EAAWO,UAAYP,EAAWO,SAASC,OAAS,EAAG,CACvD,OAAO,KACX,CAEA,MAAMC,EAAWR,OAAOS,KAAKV,EAAWM,YACxC,GAAIG,EAASD,OAAS,EAAG,CACrB,OAAO,KACX,CAGA,MAAMG,EAAkBF,EAASG,MAAMC,GAAKA,EAAEC,SAAS,WACvD,GAAIH,IAAoBZ,EAAIe,SAAS,UAAYf,EAAIe,SAAS,YAAa,CACvE,OAAO,IACX,CAEA,OAAO,KACX,CASQV,eAAeJ,GACnB,MAAMS,EAAWR,OAAOS,KAAKV,EAAWM,YACxC,MAAMS,EAAwB,GAE9B,IAAK,MAAMC,KAAWP,EAAU,CAC5B,MAAMQ,EAAgBjB,EAAWM,WAAWU,GAG5C,MAAME,EAAmB,CACrBb,KAAM,SACNC,WAAY,CACRU,CAACA,GAAUC,GAEfV,SAAU,CAACS,GACXG,MAAOF,EAAcG,aAAeJ,GAGxCD,EAAWM,KAAKH,EACpB,CAGAlB,EAAWsB,MAAQP,SAKZf,EAAWM,UACtB,EACH,IAAAiB,EAAA,CAAAC,WAAA,MAAAD,EAAA/B,2BAAA,OAAA+B,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file ProtobufVariantHeuristic.ts
|
|
3
|
+
* @description Scans OpenAPI 2.0 schemas for implicitly polymorphic structures (e.g., objects containing purely optional, mutually exclusive fields) and explicitly mutates them into `oneOf` structures.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { IHeuristicPlugin } from "../interfaces/IHeuristicPlugin";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Heuristic plugin that detects Protobuf-style Variant representations (objects with exclusively optional *_value fields)
|
|
10
|
+
* and mutates the AST to a proper oneOf polymorphic array before it reaches the parsers.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export class ProtobufVariantHeuristic implements IHeuristicPlugin {
|
|
15
|
+
/**
|
|
16
|
+
* Executes the heuristic logic against the OpenAPI AST.
|
|
17
|
+
* Initiates a scan of the global definitions block if the document matches the OpenAPI 2.0 specification.
|
|
18
|
+
*
|
|
19
|
+
* @param {any} openApiRoot The entire OpenAPI root document.
|
|
20
|
+
*/
|
|
21
|
+
public apply(openApiRoot: unknown): void {
|
|
22
|
+
if (!openApiRoot) return;
|
|
23
|
+
|
|
24
|
+
// In OpenAPI 2.0, scan definitions
|
|
25
|
+
if (openApiRoot.swagger === "2.0" && openApiRoot.definitions) {
|
|
26
|
+
this._scanDefinitions(openApiRoot.definitions);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Iterates over all root-level definitions to detect and mutate variant structures.
|
|
32
|
+
*
|
|
33
|
+
* @param {Record<string, any>} definitions The raw OpenAPI 2.0 definitions dictionary.
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
private _scanDefinitions(definitions: Record<string, any>): void {
|
|
37
|
+
for (const [key, definition] of Object.entries(definitions)) {
|
|
38
|
+
// Heuristic 1: If the object name ends with "Value" and has multiple optional properties
|
|
39
|
+
// that end with "_value" (common Protobuf JSON representation for variants)
|
|
40
|
+
if (this._isProtobufVariant(key, definition)) {
|
|
41
|
+
this._mutateToOneOf(definition);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Evaluates a schema block against the heuristic signature of a Protobuf Variant.
|
|
48
|
+
*
|
|
49
|
+
* @param {string} key The schema definition name.
|
|
50
|
+
* @param {any} definition The structural definition block.
|
|
51
|
+
* @returns {boolean} True if the structure matches a Protobuf variant pattern.
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
private _isProtobufVariant(key: string, definition: unknown): boolean {
|
|
55
|
+
if (definition.type !== "object" || !definition.properties) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Must not have required fields if it's a pure union
|
|
60
|
+
if (definition.required && definition.required.length > 0) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const propKeys = Object.keys(definition.properties);
|
|
65
|
+
if (propKeys.length < 2) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Check if all properties end with "_value" (e.g. bool_value, list_value)
|
|
70
|
+
const allEndWithValue = propKeys.every(k => k.endsWith("_value"));
|
|
71
|
+
if (allEndWithValue && (key.endsWith("Value") || key.endsWith("Variant"))) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Mutates the AST in-place by synthesizing a `oneOf` array from the optional properties
|
|
80
|
+
* and strictly purging the original object layout to force polymorphic evaluation.
|
|
81
|
+
*
|
|
82
|
+
* @param {any} definition The target variant object schema.
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
private _mutateToOneOf(definition: unknown): void {
|
|
86
|
+
const propKeys = Object.keys(definition.properties);
|
|
87
|
+
const oneOfArray: unknown[] = [];
|
|
88
|
+
|
|
89
|
+
for (const propKey of propKeys) {
|
|
90
|
+
const variantSchema = definition.properties[propKey];
|
|
91
|
+
|
|
92
|
+
// Reconstruct a sub-object for each variant, enforcing strict requirement of the single variant property
|
|
93
|
+
const syntheticVariant = {
|
|
94
|
+
type: "object",
|
|
95
|
+
properties: {
|
|
96
|
+
[propKey]: variantSchema
|
|
97
|
+
},
|
|
98
|
+
required: [propKey],
|
|
99
|
+
title: variantSchema.description || propKey
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
oneOfArray.push(syntheticVariant);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Mutate the original definition to become a oneOf root
|
|
106
|
+
definition.oneOf = oneOfArray;
|
|
107
|
+
|
|
108
|
+
// CRITICAL DESTRUCTIVE MUTATION:
|
|
109
|
+
// We delete the original properties block. If this is not done, the core engine's layout
|
|
110
|
+
// orchestrator will attempt to render both a standard static form AND the polymorphic switcher simultaneously.
|
|
111
|
+
delete definition.properties;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOpenApiParserPlugin-dbg.js","names":[],"sources":["IOpenApiParserPlugin.ts"],"sourcesContent":["/**\n * @file IOpenApiParserPlugin.ts\n * @description Contract for OpenAPI schema translation implementations.\n */\n\nimport { ISchema } from \"../../interfaces/ISchema\";\n\n/**\n * Interface defining the boundary for dynamic OpenAPI schema parsing.\n * Any parser plugin must implement this contract to ensure the orchestration engine\n * can seamlessly synthesize MetaUI layouts regardless of the underlying OpenAPI version.\n * \n * @public\n */\nexport interface IOpenApiParserPlugin {\n /**\n * Converts a raw OpenAPI schema document into a strictly-typed MetaUI ISchema tree.\n * Implementations must handle protocol-specific mapping internally.\n * \n * @param {any} rawSchema The raw, unparsed OpenAPI document structure.\n * @param {string} [targetDefinition] Optional name of a specific definition root to target.\n * @returns {ISchema} A completely normalized and decoupled MetaUI layout definition.\n */\n parse(rawSchema: unknown, targetDefinition?: string): ISchema;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin" {
|
|
2
|
+
/**
|
|
3
|
+
* @file IOpenApiParserPlugin.ts
|
|
4
|
+
* @description Contract for OpenAPI schema translation implementations.
|
|
5
|
+
*/
|
|
6
|
+
import { ISchema } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
|
|
7
|
+
/**
|
|
8
|
+
* Interface defining the boundary for dynamic OpenAPI schema parsing.
|
|
9
|
+
* Any parser plugin must implement this contract to ensure the orchestration engine
|
|
10
|
+
* can seamlessly synthesize MetaUI layouts regardless of the underlying OpenAPI version.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export interface IOpenApiParserPlugin {
|
|
15
|
+
/**
|
|
16
|
+
* Converts a raw OpenAPI schema document into a strictly-typed MetaUI ISchema tree.
|
|
17
|
+
* Implementations must handle protocol-specific mapping internally.
|
|
18
|
+
*
|
|
19
|
+
* @param {any} rawSchema The raw, unparsed OpenAPI document structure.
|
|
20
|
+
* @param {string} [targetDefinition] Optional name of a specific definition root to target.
|
|
21
|
+
* @returns {ISchema} A completely normalized and decoupled MetaUI layout definition.
|
|
22
|
+
*/
|
|
23
|
+
parse(rawSchema: unknown, targetDefinition?: string): ISchema;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=IOpenApiParserPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOpenApiParserPlugin.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,oEAAoE,CAAC;IACpF;;;OAGG;IAEH,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IAExE;;;;;;OAMG;IACH,UAAiB,oBAAoB;QACjC;;;;;;;WAOG;QACH,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KACjE;CAEA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOpenApiParserPlugin.js","names":[],"sources":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file IOpenApiParserPlugin.ts
|
|
3
|
+
* @description Contract for OpenAPI schema translation implementations.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { ISchema } from "../../interfaces/ISchema";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Interface defining the boundary for dynamic OpenAPI schema parsing.
|
|
10
|
+
* Any parser plugin must implement this contract to ensure the orchestration engine
|
|
11
|
+
* can seamlessly synthesize MetaUI layouts regardless of the underlying OpenAPI version.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export interface IOpenApiParserPlugin {
|
|
16
|
+
/**
|
|
17
|
+
* Converts a raw OpenAPI schema document into a strictly-typed MetaUI ISchema tree.
|
|
18
|
+
* Implementations must handle protocol-specific mapping internally.
|
|
19
|
+
*
|
|
20
|
+
* @param {any} rawSchema The raw, unparsed OpenAPI document structure.
|
|
21
|
+
* @param {string} [targetDefinition] Optional name of a specific definition root to target.
|
|
22
|
+
* @returns {ISchema} A completely normalized and decoupled MetaUI layout definition.
|
|
23
|
+
*/
|
|
24
|
+
parse(rawSchema: unknown, targetDefinition?: string): ISchema;
|
|
25
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
sap.ui.define(["./OpenApiPropertyMapper", "../OpenApiRefResolver"], function (___OpenApiPropertyMapper, ___OpenApiRefResolver) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @file OpenApi2Parser.ts
|
|
6
|
+
* @description Native parser for OpenAPI 2.0 (Swagger) specifications.
|
|
7
|
+
*/
|
|
8
|
+
const OpenApiPropertyMapper = ___OpenApiPropertyMapper["OpenApiPropertyMapper"];
|
|
9
|
+
const OpenApiRefResolver = ___OpenApiRefResolver["OpenApiRefResolver"];
|
|
10
|
+
/**
|
|
11
|
+
* Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.
|
|
12
|
+
* Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
class OpenApi2Parser {
|
|
17
|
+
/**
|
|
18
|
+
* Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.
|
|
19
|
+
* Extracts definitions, normalizes properties, and recursively resolves composition (allOf).
|
|
20
|
+
*
|
|
21
|
+
* @param {any} openApiRoot The root JSON document.
|
|
22
|
+
* @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.
|
|
23
|
+
* @returns {ISchema} The synthesized MetaUI schema structure.
|
|
24
|
+
* @throws {Error} If the target definition cannot be found in the provided Swagger document.
|
|
25
|
+
*/
|
|
26
|
+
parse(openApiRoot, targetDefinition) {
|
|
27
|
+
let targetObject = openApiRoot;
|
|
28
|
+
if (!targetDefinition) {
|
|
29
|
+
if (openApiRoot.definitions) {
|
|
30
|
+
const keys = Object.keys(openApiRoot.definitions);
|
|
31
|
+
if (keys.length > 0) targetDefinition = keys[0];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (targetDefinition) {
|
|
35
|
+
targetDefinition = targetDefinition.replace("#/components/schemas/", "").replace("#/definitions/", "");
|
|
36
|
+
if (openApiRoot.definitions && openApiRoot.definitions[targetDefinition]) {
|
|
37
|
+
targetObject = openApiRoot.definitions[targetDefinition];
|
|
38
|
+
} else {
|
|
39
|
+
throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${targetDefinition}' in definitions.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (targetObject.$ref) {
|
|
43
|
+
const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);
|
|
44
|
+
if (resolved) {
|
|
45
|
+
targetObject = {
|
|
46
|
+
...resolved,
|
|
47
|
+
...targetObject
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(targetObject.allOf)) {
|
|
52
|
+
let merged = {
|
|
53
|
+
...targetObject
|
|
54
|
+
};
|
|
55
|
+
delete merged.allOf;
|
|
56
|
+
for (const subSchema of targetObject.allOf) {
|
|
57
|
+
let resolvedSub = subSchema;
|
|
58
|
+
if (subSchema.$ref) {
|
|
59
|
+
resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};
|
|
60
|
+
}
|
|
61
|
+
merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);
|
|
62
|
+
}
|
|
63
|
+
targetObject = merged;
|
|
64
|
+
}
|
|
65
|
+
const schema = {
|
|
66
|
+
title: targetObject.title || openApiRoot.info?.title || targetDefinition,
|
|
67
|
+
type: targetObject.type === "array" ? "array" : "object",
|
|
68
|
+
layoutStrategy: targetObject.type === "array" ? "table" : "form"
|
|
69
|
+
};
|
|
70
|
+
if (targetObject.additionalProperties) {
|
|
71
|
+
if (targetObject.additionalProperties === true) {
|
|
72
|
+
schema.additionalProperties = true;
|
|
73
|
+
} else if (typeof targetObject.additionalProperties === "object") {
|
|
74
|
+
schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, "value", false, openApiRoot, "2.0");
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (targetObject.properties) {
|
|
78
|
+
const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];
|
|
79
|
+
schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, "2.0");
|
|
80
|
+
} else if (schema.type === "array" && targetObject.items) {
|
|
81
|
+
schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, "items", false, openApiRoot, "2.0");
|
|
82
|
+
}
|
|
83
|
+
if (openApiRoot.definitions) {
|
|
84
|
+
schema.definitions = {};
|
|
85
|
+
for (const key of Object.keys(openApiRoot.definitions)) {
|
|
86
|
+
const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(openApiRoot.definitions[key], key, false, openApiRoot, "2.0");
|
|
87
|
+
schema.definitions[key] = {
|
|
88
|
+
title: key,
|
|
89
|
+
type: mappedProp.type === "array" ? "array" : "object",
|
|
90
|
+
properties: mappedProp.properties,
|
|
91
|
+
items: mappedProp.items,
|
|
92
|
+
ui: mappedProp.ui,
|
|
93
|
+
layoutStrategy: mappedProp.type === "array" ? "table" : "form"
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return schema;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
var __exports = {
|
|
101
|
+
__esModule: true
|
|
102
|
+
};
|
|
103
|
+
__exports.OpenApi2Parser = OpenApi2Parser;
|
|
104
|
+
return __exports;
|
|
105
|
+
});
|
|
106
|
+
//# sourceMappingURL=OpenApi2Parser-dbg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenApi2Parser-dbg.js","names":["OpenApiPropertyMapper","___OpenApiPropertyMapper","OpenApiRefResolver","___OpenApiRefResolver","OpenApi2Parser","parse","openApiRoot","targetDefinition","targetObject","definitions","keys","Object","length","replace","Error","$ref","resolved","resolve","Array","isArray","allOf","merged","subSchema","resolvedSub","deepMergeSchemas","schema","title","info","type","layoutStrategy","additionalProperties","mapPropertyMetadata","properties","requiredFields","required","mapProperties","items","key","mappedProp","ui","__exports","__esModule"],"sources":["OpenApi2Parser.ts"],"sourcesContent":["/**\n * @file OpenApi2Parser.ts\n * @description Native parser for OpenAPI 2.0 (Swagger) specifications.\n */\n\nimport { IOpenApiParserPlugin } from \"../interfaces/IOpenApiParserPlugin\";\nimport { ISchema } from \"../../interfaces/ISchema\";\nimport { OpenApiPropertyMapper } from \"./OpenApiPropertyMapper\";\nimport { OpenApiRefResolver } from \"../OpenApiRefResolver\";\n\n/**\n * Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.\n * Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.\n * \n * @public\n */\nexport class OpenApi2Parser implements IOpenApiParserPlugin {\n /**\n * Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.\n * Extracts definitions, normalizes properties, and recursively resolves composition (allOf).\n * \n * @param {any} openApiRoot The root JSON document.\n * @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.\n * @returns {ISchema} The synthesized MetaUI schema structure.\n * @throws {Error} If the target definition cannot be found in the provided Swagger document.\n */\n public parse(openApiRoot: unknown, targetDefinition?: string): ISchema {\n let targetObject = openApiRoot;\n\n if (!targetDefinition) {\n if (openApiRoot.definitions) {\n const keys = Object.keys(openApiRoot.definitions);\n if (keys.length > 0) targetDefinition = keys[0];\n }\n }\n\n if (targetDefinition) {\n targetDefinition = targetDefinition.replace(\"#/components/schemas/\", \"\").replace(\"#/definitions/\", \"\");\n if (openApiRoot.definitions && openApiRoot.definitions[targetDefinition]) {\n targetObject = openApiRoot.definitions[targetDefinition];\n } else {\n throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${targetDefinition}' in definitions.`);\n }\n }\n\n if (targetObject.$ref) {\n const resolved = OpenApiRefResolver.resolve(targetObject.$ref, openApiRoot);\n if (resolved) {\n targetObject = { ...resolved, ...targetObject };\n }\n }\n\n if (Array.isArray(targetObject.allOf)) {\n let merged = { ...targetObject };\n delete merged.allOf;\n for (const subSchema of targetObject.allOf) {\n let resolvedSub = subSchema;\n if (subSchema.$ref) {\n resolvedSub = OpenApiRefResolver.resolve(subSchema.$ref, openApiRoot) || {};\n }\n merged = OpenApiPropertyMapper.deepMergeSchemas(merged, resolvedSub);\n }\n targetObject = merged;\n }\n\n const schema: ISchema = {\n title: targetObject.title || openApiRoot.info?.title || targetDefinition,\n type: targetObject.type === \"array\" ? \"array\" : \"object\",\n layoutStrategy: targetObject.type === \"array\" ? \"table\" : \"form\"\n };\n\n if (targetObject.additionalProperties) {\n if (targetObject.additionalProperties === true) {\n schema.additionalProperties = true;\n } else if (typeof targetObject.additionalProperties === \"object\") {\n schema.additionalProperties = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.additionalProperties, \"value\", false, openApiRoot, \"2.0\");\n }\n }\n\n if (targetObject.properties) {\n const requiredFields = Array.isArray(targetObject.required) ? targetObject.required : [];\n schema.properties = OpenApiPropertyMapper.mapProperties(targetObject.properties, requiredFields, openApiRoot, \"2.0\");\n } else if (schema.type === \"array\" && targetObject.items) {\n schema.items = OpenApiPropertyMapper.mapPropertyMetadata(targetObject.items, \"items\", false, openApiRoot, \"2.0\");\n }\n\n if (openApiRoot.definitions) {\n schema.definitions = {};\n for (const key of Object.keys(openApiRoot.definitions)) {\n const mappedProp = OpenApiPropertyMapper.mapPropertyMetadata(openApiRoot.definitions[key], key, false, openApiRoot, \"2.0\");\n schema.definitions[key] = {\n title: key,\n type: mappedProp.type === \"array\" ? \"array\" : \"object\",\n properties: mappedProp.properties,\n items: mappedProp.items,\n ui: mappedProp.ui,\n layoutStrategy: mappedProp.type === \"array\" ? \"table\" : \"form\"\n };\n }\n }\n\n return schema;\n }\n}\n"],"mappings":";;;EAAA;AACA;AACA;AACA;EAHA,MAOSA,qBAAqB,GAAAC,wBAAA;EAAA,MACrBC,kBAAkB,GAAAC,qBAAA;EAE3B;AACA;AACA;AACA;AACA;AACA;EACO,MAAMC,cAAc,CAAiC;IACxD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACWC,KAAKA,CAACC,WAAoB,EAAEC,gBAAyB,EAAW;MACnE,IAAIC,YAAY,GAAGF,WAAW;MAE9B,IAAI,CAACC,gBAAgB,EAAE;QACnB,IAAID,WAAW,CAACG,WAAW,EAAE;UACzB,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACJ,WAAW,CAACG,WAAW,CAAC;UACjD,IAAIC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAEL,gBAAgB,GAAGG,IAAI,CAAC,CAAC,CAAC;QACnD;MACJ;MAEA,IAAIH,gBAAgB,EAAE;QAClBA,gBAAgB,GAAGA,gBAAgB,CAACM,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACtG,IAAIP,WAAW,CAACG,WAAW,IAAIH,WAAW,CAACG,WAAW,CAACF,gBAAgB,CAAC,EAAE;UACtEC,YAAY,GAAGF,WAAW,CAACG,WAAW,CAACF,gBAAgB,CAAC;QAC5D,CAAC,MAAM;UACH,MAAM,IAAIO,KAAK,CAAC,6DAA6DP,gBAAgB,mBAAmB,CAAC;QACrH;MACJ;MAEA,IAAIC,YAAY,CAACO,IAAI,EAAE;QACnB,MAAMC,QAAQ,GAAGd,kBAAkB,CAACe,OAAO,CAACT,YAAY,CAACO,IAAI,EAAET,WAAW,CAAC;QAC3E,IAAIU,QAAQ,EAAE;UACVR,YAAY,GAAG;YAAE,GAAGQ,QAAQ;YAAE,GAAGR;UAAa,CAAC;QACnD;MACJ;MAEA,IAAIU,KAAK,CAACC,OAAO,CAACX,YAAY,CAACY,KAAK,CAAC,EAAE;QACnC,IAAIC,MAAM,GAAG;UAAE,GAAGb;QAAa,CAAC;QAChC,OAAOa,MAAM,CAACD,KAAK;QACnB,KAAK,MAAME,SAAS,IAAId,YAAY,CAACY,KAAK,EAAE;UACxC,IAAIG,WAAW,GAAGD,SAAS;UAC3B,IAAIA,SAAS,CAACP,IAAI,EAAE;YAChBQ,WAAW,GAAGrB,kBAAkB,CAACe,OAAO,CAACK,SAAS,CAACP,IAAI,EAAET,WAAW,CAAC,IAAI,CAAC,CAAC;UAC/E;UACAe,MAAM,GAAGrB,qBAAqB,CAACwB,gBAAgB,CAACH,MAAM,EAAEE,WAAW,CAAC;QACxE;QACAf,YAAY,GAAGa,MAAM;MACzB;MAEA,MAAMI,MAAe,GAAG;QACpBC,KAAK,EAAElB,YAAY,CAACkB,KAAK,IAAIpB,WAAW,CAACqB,IAAI,EAAED,KAAK,IAAInB,gBAAgB;QACxEqB,IAAI,EAAEpB,YAAY,CAACoB,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,QAAQ;QACxDC,cAAc,EAAErB,YAAY,CAACoB,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG;MAC9D,CAAC;MAED,IAAIpB,YAAY,CAACsB,oBAAoB,EAAE;QACnC,IAAItB,YAAY,CAACsB,oBAAoB,KAAK,IAAI,EAAE;UAC5CL,MAAM,CAACK,oBAAoB,GAAG,IAAI;QACtC,CAAC,MAAM,IAAI,OAAOtB,YAAY,CAACsB,oBAAoB,KAAK,QAAQ,EAAE;UAC9DL,MAAM,CAACK,oBAAoB,GAAG9B,qBAAqB,CAAC+B,mBAAmB,CAACvB,YAAY,CAACsB,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAExB,WAAW,EAAE,KAAK,CAAC;QAClJ;MACJ;MAEA,IAAIE,YAAY,CAACwB,UAAU,EAAE;QACzB,MAAMC,cAAc,GAAGf,KAAK,CAACC,OAAO,CAACX,YAAY,CAAC0B,QAAQ,CAAC,GAAG1B,YAAY,CAAC0B,QAAQ,GAAG,EAAE;QACxFT,MAAM,CAACO,UAAU,GAAGhC,qBAAqB,CAACmC,aAAa,CAAC3B,YAAY,CAACwB,UAAU,EAAEC,cAAc,EAAE3B,WAAW,EAAE,KAAK,CAAC;MACxH,CAAC,MAAM,IAAImB,MAAM,CAACG,IAAI,KAAK,OAAO,IAAIpB,YAAY,CAAC4B,KAAK,EAAE;QACtDX,MAAM,CAACW,KAAK,GAAGpC,qBAAqB,CAAC+B,mBAAmB,CAACvB,YAAY,CAAC4B,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE9B,WAAW,EAAE,KAAK,CAAC;MACpH;MAEA,IAAIA,WAAW,CAACG,WAAW,EAAE;QACzBgB,MAAM,CAAChB,WAAW,GAAG,CAAC,CAAC;QACvB,KAAK,MAAM4B,GAAG,IAAI1B,MAAM,CAACD,IAAI,CAACJ,WAAW,CAACG,WAAW,CAAC,EAAE;UACpD,MAAM6B,UAAU,GAAGtC,qBAAqB,CAAC+B,mBAAmB,CAACzB,WAAW,CAACG,WAAW,CAAC4B,GAAG,CAAC,EAAEA,GAAG,EAAE,KAAK,EAAE/B,WAAW,EAAE,KAAK,CAAC;UAC1HmB,MAAM,CAAChB,WAAW,CAAC4B,GAAG,CAAC,GAAG;YACtBX,KAAK,EAAEW,GAAG;YACVT,IAAI,EAAEU,UAAU,CAACV,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,QAAQ;YACtDI,UAAU,EAAEM,UAAU,CAACN,UAAU;YACjCI,KAAK,EAAEE,UAAU,CAACF,KAAK;YACvBG,EAAE,EAAED,UAAU,CAACC,EAAE;YACjBV,cAAc,EAAES,UAAU,CAACV,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG;UAC5D,CAAC;QACL;MACJ;MAEA,OAAOH,MAAM;IACjB;EACJ;EAAC,IAAAe,SAAA;IAAAC,UAAA;EAAA;EAAAD,SAAA,CAAApC,cAAA,GAAAA,cAAA;EAAA,OAAAoC,SAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare module "nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser" {
|
|
2
|
+
/**
|
|
3
|
+
* @file OpenApi2Parser.ts
|
|
4
|
+
* @description Native parser for OpenAPI 2.0 (Swagger) specifications.
|
|
5
|
+
*/
|
|
6
|
+
import { IOpenApiParserPlugin } from "nz/co/siliconst/ui5/metaui/openapi/interfaces/IOpenApiParserPlugin";
|
|
7
|
+
import { ISchema } from "nz/co/siliconst/ui5/metaui/interfaces/ISchema";
|
|
8
|
+
/**
|
|
9
|
+
* Parser plugin specifically designed for parsing OpenAPI 2.0 (Swagger) schemas.
|
|
10
|
+
* Responsible for translating OpenAPI 2.0 specific constructs into the MetaUI normalized schema.
|
|
11
|
+
*
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export class OpenApi2Parser implements IOpenApiParserPlugin {
|
|
15
|
+
/**
|
|
16
|
+
* Parses a raw OpenAPI 2.0 document into a normalized MetaUI ISchema tree.
|
|
17
|
+
* Extracts definitions, normalizes properties, and recursively resolves composition (allOf).
|
|
18
|
+
*
|
|
19
|
+
* @param {any} openApiRoot The root JSON document.
|
|
20
|
+
* @param {string} [targetDefinition] Optional specific definition to extract. If omitted, uses the first definition available.
|
|
21
|
+
* @returns {ISchema} The synthesized MetaUI schema structure.
|
|
22
|
+
* @throws {Error} If the target definition cannot be found in the provided Swagger document.
|
|
23
|
+
*/
|
|
24
|
+
parse(openApiRoot: unknown, targetDefinition?: string): ISchema;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=OpenApi2Parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenApi2Parser.d.ts","sourceRoot":"../../../../../../../../..","sources":["src/nz/co/siliconst/ui5/metaui/openapi/parsers/OpenApi2Parser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2DAA2D,CAAC;IAC3E;;;OAGG;IAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oEAAoE,CAAC;IAC1G,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;IAIxE;;;;;OAKG;IACH,MAAa,cAAe,YAAW,oBAAoB;QACvD;;;;;;;;WAQG;QACI,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO;KA6EzE;CAEA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
sap.ui.define(["./OpenApiPropertyMapper","../OpenApiRefResolver"],function(e,i){"use strict";const t=e["OpenApiPropertyMapper"];const r=i["OpenApiRefResolver"];class a{parse(e,i){let a=e;if(!i){if(e.definitions){const t=Object.keys(e.definitions);if(t.length>0)i=t[0]}}if(i){i=i.replace("#/components/schemas/","").replace("#/definitions/","");if(e.definitions&&e.definitions[i]){a=e.definitions[i]}else{throw new Error(`[MetaUI OpenApi2Parser] Could not find target definition '${i}' in definitions.`)}}if(a.$ref){const i=r.resolve(a.$ref,e);if(i){a={...i,...a}}}if(Array.isArray(a.allOf)){let i={...a};delete i.allOf;for(const o of a.allOf){let a=o;if(o.$ref){a=r.resolve(o.$ref,e)||{}}i=t.deepMergeSchemas(i,a)}a=i}const o={title:a.title||e.info?.title||i,type:a.type==="array"?"array":"object",layoutStrategy:a.type==="array"?"table":"form"};if(a.additionalProperties){if(a.additionalProperties===true){o.additionalProperties=true}else if(typeof a.additionalProperties==="object"){o.additionalProperties=t.mapPropertyMetadata(a.additionalProperties,"value",false,e,"2.0")}}if(a.properties){const i=Array.isArray(a.required)?a.required:[];o.properties=t.mapProperties(a.properties,i,e,"2.0")}else if(o.type==="array"&&a.items){o.items=t.mapPropertyMetadata(a.items,"items",false,e,"2.0")}if(e.definitions){o.definitions={};for(const i of Object.keys(e.definitions)){const r=t.mapPropertyMetadata(e.definitions[i],i,false,e,"2.0");o.definitions[i]={title:i,type:r.type==="array"?"array":"object",properties:r.properties,items:r.items,ui:r.ui,layoutStrategy:r.type==="array"?"table":"form"}}}return o}}var o={__esModule:true};o.OpenApi2Parser=a;return o});
|
|
2
|
+
//# sourceMappingURL=OpenApi2Parser.js.map
|